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

ピボットケースはいつ?

    PIVOT を使用する必要がありますか ?、これの簡単な方法は CASE を使用することだからです 式:

    SELECT  id,
            MIN(CASE WHEN displayName = 'User SID' THEN stringValue END) [User SID],
            MIN(CASE WHEN displayName = 'User Name' THEN stringValue END) [User Name],
            MIN(CASE WHEN displayName = 'Last Login' THEN dateValue END) [Last Login]
    FROM YourTable
    GROUP BY id
    

    結果は次のとおりです:

    ╔══════════════════════════════════════╦══════════╦═══════════╦════════════╗
    ║                  ID                  ║ USER SID ║ USER NAME ║ LAST LOGIN ║
    ╠══════════════════════════════════════╬══════════╬═══════════╬════════════╣
    ║ EBD6F18D-3CD3-4134-8FFB-7620D3EA93DF ║ SID2     ║ User 2    ║ 2012-01-10 ║
    ║ 59FAA56C-4C0C-456E-BA68-AC63250D6281 ║ SID-122  ║ My User   ║ 2012-01-01 ║
    ╚══════════════════════════════════════╩══════════╩═══════════╩════════════╝
    

    これが sqlfiddle です 試用できるデモ付き。



    1. Oracleでセッションの通貨記号を変更する方法

    2. codeigniterでストアドプロシージャを呼び出す

    3. PHP警告:PHPスタートアップ:ダイナミックライブラリ'/usr/lib/php/20151012/msqli.so'を読み込めません

    4. タイムアウト エラーのないクラシック ASP でのエラー処理