![]() |
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:
Doch wenn ich das ganze jetzt noch mit der 1. Tabelle Personen verknüpfen möchte klappt das nicht.
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
Code:
Bei diesem Code kommt die Fehlermeldung:
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
Code:
Hat jem. ne Ahnung, woran das liegen könnte, und was ist überhaupt mit der Aggregatfunktion gemeint?
Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Pers_Name' nicht als Teil der Aggregatfunktion einschließt.
Gruß Sunfy |
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 10:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz