Acho que você quer algo assim:
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
Isso retornará os detalhes do menor número de parada para cada ID de despacho. Você pode filtrar ainda mais simplesmente usando
WHERE
. Por exemplo. WHERE Arrived = 1
AND Departed = 0
Acho que adicionar o acima à instrução select no topo trará de volta os resultados:
Dispatch_ID NextStop Arrived Departed
=========== ======== ======= ========
6410 1 True False
50589 1 True False
50687 1 True False
Embora eu possa ter entendido completamente mal a pergunta.