Ich glaube, Sie wollen so etwas:
SELECT dl.DispatchID,
dl.StopNumber AS NextStop,
dl.Arrived,
dl.Departed
FROM DispatchLocations dl
INNER JOIN
( SELECT DispatchID, MIN(StopNumber) [StopNumber]
FROM DispatchLocations
GROUP BY DispatchID
) MinDL
ON MinDL.DispatchID = dl.DispatchID
AND MinDL.StopNumber = dl.StopNumber
Dadurch werden die Details für die niedrigste Stoppnummer für jede Dispatch-ID zurückgegeben. Diese können Sie dann weiter filtern, indem Sie einfach WHERE
verwenden . Z. B.
WHERE Arrived = 1
AND Departed = 0
Ich denke, das Hinzufügen des Obigen zur select-Anweisung oben bringt die Ergebnisse zurück:
Dispatch_ID NextStop Arrived Departed
=========== ======== ======= ========
6410 1 True False
50589 1 True False
50687 1 True False
Obwohl ich die Frage möglicherweise völlig falsch verstanden habe.