Mögliche Duplizieren:
How to get the record of a table who contains the maximum value?SQL select max (Datum) und entsprechende Wert
ich ein Aggregat Abfrage wie die folgende haben:
SELECT TrainingID, Max(CompletedDate) as CompletedDate, Max(Notes) as Notes --This will only return the longest notes entry
FROM HR_EmployeeTrainings ET
WHERE (ET.AvantiRecID IS NULL OR ET.AvantiRecID = @avantiRecID)
GROUP BY AvantiRecID, TrainingID
Welche ist funktioniert, und die meiste Zeit korrekte Daten zurückgibt, aber ich bemerkte ein Problem. Das Feld "Notes", das zurückgegeben wird, stimmt nicht unbedingt mit dem Datensatz überein, aus dem das Maximum (completedDate) stammt. Stattdessen wird es der mit der längsten Saite sein? Oder der mit dem höchsten ASCII-Wert? Was macht SQL Server im Falle einer Verbindung zwischen zwei Datensätzen? Ich bin mir nicht einmal sicher. Was ich erhalten möchte, ist das Notizenfeld aus dem Datensatz max (completedDate). Wie soll ich das machen?
Ist CompletedDate keine DateTime? – Frobzig
Es ist eine DateTime. Kein Problem mit diesem Feld, aber mit Notizen. – MAW74656
die maximalen Noten oder jede Note für das 'max (completedDate)'? – Marc