Ok, Frage Sound sehr verwirrend, ich kann einfach nicht mit besseren Titel kommen.Rückgabe Spaltenwert ohne Aggregation für gruppierte Abfrage
Hier ist meine Frage:
SELECT TS.LocationKey, TA.TrailerKey, MAX(TS.ArrivedOnLocal) MaxArrivedOnLocal
FROM dbo.DSPTripStop TS
INNER JOIN dbo.DSPTripAssignment TA ON TS.TripStopKey = TA.ToTripStopKey AND TA.TrailerKey IS NOT NULL
GROUP BY TS.LocationKey, TA.TrailerKey
Abfrage gibt Liste der Anhänger mit Standorten und letzte Mal, wenn sie an dieser Stelle fallen gelassen wurden. Das ist das, was ich benötige. MAX (Zeit) für den Ort ist ein Ziel.
Aber ich möchte auch wissen, welche DSPTripStop.TripStopKey
diese MAX() Zeit passiert ist.
Ich kann nicht nach diesem Wert gruppieren. Ich verstehe, dass es nicht definiert ist (kann mehrere Werte für die gleiche Zeit sein). Für meinen Zweck wird JEDER Zufall arbeiten. Aber ich kann keinen besseren Weg finden, als mich zum zweiten Mal durch MaxArrivedOnLocal
zu verbinden, um zu bekommen, was ich brauche.
SQL Server "sieht" diese Daten bereits, wenn MAX() aggregiert ist, irgendeine Möglichkeit, es in dieser Abfrage zu ziehen?
Sie müssen nach dem Auffinden der Ergebnismenge der Haupttabelle beitreten. Dann können Sie andere Felder bekommen. – NEER