如何将(未知)行数分组到一行中,设置列确定分组?
例如,转移
Ref Name Link ============================== 1 John L1 1 John L2 1 John L8 2 Steve L1 2 Steve L234
成
Ref Name ... ... ... ========================================== 1 John L1 L2 L8 2 Steve L1 L234 NULL
谢谢你的帮助
解决方法
您可以使用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
如果您有更多行,只需扩展数字列表即可.