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

SQL 2008で行を列に変換

    rank() の同じアプローチを使用してから、次のように新しい PIVOT 関数を使用できます:

    with    cusCte as(
    select  cusid,cusph1,RANK() over (partition by cusid order by cusph1) r
    from    #cusphone)
    
    SELECT cusid, [1] AS C1, [2] AS C2, [3] AS C3
    FROM 
    (SELECT cusid,cusph1,r
    FROM cusCte) p
    PIVOT
    (
    MIN (cusph1)
    FOR r IN
    ( [1], [2], [3] )
    ) AS pvt;
    


    1. 特定の制限を超えると、MySQLレコードは返されませんか?

    2. WHERE句のオプションの引数

    3. JPAとOracleを使用してデータベースに後続ゼロを格納する

    4. ノード()メソッドを使用したSQLの階層XMLのフラット化