Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme bei SQL Abfrage mit drei Tabellen und Max(Datum) (https://www.delphipraxis.net/21892-probleme-bei-sql-abfrage-mit-drei-tabellen-und-max-datum.html)

sunfy 9. Mai 2004 16:07


Probleme bei SQL Abfrage mit drei Tabellen und Max(Datum)
 
Hallo,
Ich habe ein Problem mit meiner SQL Abfrage:
Es gibt drei Tabellen
1. Person
2. Pers_b_Kath1
3. Kathegorie1

Jetzt möchte ich alle Personen mit dem größten Datum des Ereignises aus Kath1 ausgeben.

Als erstes habe ich einen SQL-Befehl, der mir alle PersonenID´s mit den jeweiligen max-Datums durch die Verknüpfung von Tabelle 2 und 3 ausgibt.
Diese funzt auch wunderbar:
Code:
SELECT max( Kath1_Datum ) , Pers_ID, Pers_Name, Pers_Vorname
FROM  Kathegorie1 K,
       Pers_b_Kath1  P
 
WHERE K.Kath1_ID = P.Kath1_ID
GROUP BY Pers_ID
ORDER BY 1 Desc, P.Pers_Name, P.Pers_Vorname
Doch wenn ich das ganze jetzt noch mit der 1. Tabelle Personen verknüpfen möchte klappt das nicht.
Code:
SELECT max( Kath1_Datum ), P.Pers_ID, P.Pers_Name, P.Pers_Vorname
FROM  Kathegorie1 K,
       (Person P inner JOIN Pers_b_Kath1 Q ON P.Pers_ID = Q.Pers_ID)

WHERE K.Kath1_ID = Q.Kath1_ID
GROUP BY P.Pers_ID
ORDER BY 1 Desc, P.Pers_Name, P.Pers_Vorname
Bei diesem Code kommt die Fehlermeldung:
Code:
Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Pers_Name' nicht als Teil der Aggregatfunktion einschließt.
Hat jem. ne Ahnung, woran das liegen könnte, und was ist überhaupt mit der Aggregatfunktion gemeint?

Gruß Sunfy

Robert_G 9. Mai 2004 17:03

Re: Probleme bei SQL Abfrage mit drei Tabellen und Max(Datum
 
Deine Aggregatfunktion ist "MAX".
Das hier sollte gehen (Du musst nach P.Pers_Name & P.Pers_Vorname gruppieren):
SQL-Code:
SELECT Max(Kath1_Datum)
      ,P.Pers_ID
      ,P.Pers_Name
      ,P.Pers_Vorname
FROM  Kathegorie1 K
      ,(Person P Inner Join Pers_b_Kath1 Q On P.Pers_ID = Q.Pers_ID)
WHERE K.Kath1_ID = Q.Kath1_ID
GROUP BY P.Pers_ID
         ,P.Pers_Name
         ,P.Pers_Vorname
ORDER BY 1 Desc
         ,P.Pers_Name
         ,P.Pers_Vorname


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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