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

テーブルをループしてデータセットを見つける方法は?

    pivoting で簡単にできます 2 つの方法で行うことができます。

    1.Conditional Aggregateを使用する データをピボットします。 pivotingdatediff を見つけることができます 異なる段階の間。これを試してください。

    SELECT orderid,Received,Keyed,Printed,Delivered,
           Datediff(minute, Received, Keyed)    TurnTime1,
           Datediff(minute, Keyed, Printed)     TurnTime2,
           Datediff(minute, Printed, Delivered) TurnTime3
    FROM  (SELECT OrderID,
                  Max(CASE WHEN ActivityID = 1 THEN ActivityDate END) Received,
                  Max(CASE WHEN ActivityID = 2 THEN ActivityDate END) Keyed,
                  Max(CASE WHEN ActivityID = 3 THEN ActivityDate END) Printed,
                  Max(CASE WHEN ActivityID = 4 THEN ActivityDate END) Delivered
           FROM   Yourtable
           GROUP  BY OrderID)A 
    

    2.pivotingを使用 データを転置する

    SELECT orderid,
           [1]                        AS Received,
           [2]                        AS Keyed,
           [3]                        AS Printed,
           [4]                        AS Delivered,
           Datediff(minute, [1], [2]) TurnTime1,
           Datediff(minute, [2], [3]) TurnTime2,
           Datediff(minute, [3], [4]) TurnTime3
    FROM   Yourtable
           PIVOT (Max(ActivityDate)
                 FOR ActivityID IN([1],[2],[3],[4]))piv 
    


    1. マルチバイト対応のPostgresqlLevenshteinはありますか?

    2. SQL Serverで親テーブル、参照テーブル、外部キー制約の名前と列を取得する方法-SQL Server/TSQLチュートリアルパート71

    3. vagrantのpostgres(ubuntu14.04)

    4. JQUERY&php post error 500(サーバー内部エラー)