Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzo di un set di risultati da un sub SELECT quando vengono rilevate righe duplicate

Penso che tu voglia qualcosa del genere:

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

Questo restituirà i dettagli per lo stopnumber più basso per ogni ID spedizione. Puoi quindi filtrarlo ulteriormente semplicemente usando WHERE . Es.

WHERE  Arrived = 1
AND    Departed = 0

Penso che l'aggiunta di quanto sopra all'istruzione select in alto riporterà i risultati:

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

Anche se potrei aver frainteso completamente la domanda.