sql >> Base de Datos >  >> RDS >> Sqlserver

Uso de un conjunto de resultados de una SELECCIÓN secundaria cuando se encuentran filas duplicadas

Creo que quieres algo como esto:

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

Esto devolverá los detalles del número de parada más bajo para cada ID de despacho. Luego puede filtrar esto aún más simplemente usando WHERE . Por ejemplo

WHERE  Arrived = 1
AND    Departed = 0

Creo que agregar lo anterior a la declaración de selección en la parte superior traerá de vuelta los resultados:

Dispatch_ID    NextStop    Arrived    Departed
===========    ========    =======    ========
6410           1           True       False
50589          1           True       False
50687          1           True       False

Aunque puede que haya entendido mal la pregunta.