sql >> データベース >  >> RDS >> Sqlserver

重複行が検出された場合のサブ SELECT からの結果セットの使用

    このようなものが欲しいと思います:

    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
      

    これにより、各ディスパッチ ID の最小ストップ番号の詳細が返されます。 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
      

    質問を完全に誤解しているかもしれませんが.




    1. SQL CLRトリガーはこれを実行できますか?それとももっと良い方法がありますか?

    2. SQL ServerのRAND()の例

    3. ピボットモデルでのLaravelの関係

    4. JPAを使用したSpringのカスタムクエリ