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

T-SQLの複数列ピボット

    MAX(CASE ...)とGROUP BYを使用して書き直します:

    select 
      field1
    , [1] = max(case when RowID = 1 then field2 end)
    , [2] = max(case when RowID = 2 then field2 end)
    , [3] = max(case when RowID = 3 then field2 end)
    , [4] = max(case when RowID = 4 then field2 end)
    from (
      select 
        field1
      , field2
      , RowID = row_number() over (partition by field1 order by field2)
      from tblname
      ) SourceTable
    group by 
      field1
    

    そこから、field3、field4などを追加できます。



    1. エポックタイムスタンプをSQLサーバーに変換する(人間が読める形式)

    2. MySQLで合計行を追加する方法

    3. MySQLで週ごとの成長率を計算する方法

    4. PL / SQLを使用してExcelファイル(.xlsx)を作成する