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

T-SQL で行を列にグループ化する

    列名のソースとして row_number() を使用してテーブルをピボットできます:

    select *
    from
    (
      select ref, 
             name, 
             link,
             row_number() over (partition by ref, name order by link) rn
      from table1
    ) s
    pivot (min (link) for rn in ([1], [2], [3], [4])) pvt
    

    より多くの行がある場合は、数字のリストを拡張するだけです。

    ライブ テストは @ Sql Fiddle です .



    1. 大きなBLOBをストアドプロシージャに渡す

    2. 任意のOracleセッションが使用しているトランザクション分離レベルをどのように確認できますか

    3. OracleWarehouseBuilderを使用したデータウェアハウスETLデータプロファイリング

    4. プリペアドステートメントを使用してSQL_CALC_FOUND_ROWS値を取得するにはどうすればよいですか?