1

列の値を生の値に分割する方法例:

Col1            col2
1               james
1               gold
1               james@gmail.com
2               john
2               def
2               def@gmail.com

col1 の値は千単位で変化し続けます。

結果:

col1            col2      col3      col4
1               james     gold      james@gmail.com 
2               john      def       ef@gmail.com
4

1 に答える 1

3

これを試して:

テーブルには列の順序を表示する列がないため、これは列間の値の順序を保証しません..列がある場合は、その列で select 0 を変更できます

with cte as(
select *,ROW_NUMBER() 
         over(partition by Col1 order by (select 0))as rn from Table1)  
select * from cte
pivot(
   Max(COL2) FOR rn IN ([1],[2],[3] )  
   )P 


SQL フィドルのデモ

于 2012-10-23T09:41:31.750 に答える