Мисля, че искате нещо подобно:
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
Това ще върне подробностите за най-ниския стоп номер за всеки ИД на изпращане. След това можете да филтрирате това допълнително, като просто използвате WHERE
. Напр.
WHERE Arrived = 1
AND Departed = 0
Мисля, че добавянето на горното към оператора select в горната част ще върне резултатите:
Dispatch_ID NextStop Arrived Departed
=========== ======== ======= ========
6410 1 True False
50589 1 True False
50687 1 True False
Въпреки че може да съм разбрал напълно погрешно въпроса.