Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQl inner join (https://www.delphipraxis.net/196054-sql-inner-join.html)

Walter Landwehr 19. Apr 2018 08:56

Datenbank: Firbird • Version: 2,5,5 • Zugriff über: IBO / IBExpert

SQl inner join
 
Hallo,

warum erhalte ich bei den folgenden SQL Statement die Datensätze mehrfach angezeigt.

Delphi-Quellcode:
select P.patientennummer, P.namekomplett, P.strasse, P.ort, max(R.Behandlungsdatum) from tbl_patient P
inner join tbl_RechnungsPositionen R on R.patientennummer = P.patientennummer
where (R.Behandlungsdatum < :Datum) or (R.Behandlungsdatum is null)
group by P.patientennummer, P.namekomplett, P.strasse, P.ort, R.behandlungsdatum
order by R.Behandlungsdatum
Vielen Dank für einen Tipp.

Bin jetzt bis heute säten Abend zu einer Beerdigung in Norddeutschland, deshalb nicht wundern, wenn meine Reaktion erst später erfolgt.

Jasocul 19. Apr 2018 09:12

AW: SQl inner join
 
Das Behandlungsdatum darf nicht im "Group by" enthalten sein.
Das "Order by" sollte dementsprechend nach max(behandlungsdatum) erfolgen. Ansonsten dürfte das auch nicht funktionieren.

Neutral General 19. Apr 2018 09:13

AW: SQl inner join
 
Wie ich das sehe musst du aus dem GROUP BY das Behandlungsdatum rausnehmen.
Edit: Keine rote Box :(

Walter Landwehr 19. Apr 2018 19:02

AW: SQl inner join
 
Danke an alle funktioniert jetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz