sql一列变多列

一列变三列的例子:
select 
max(case rownumber % 3 when 2 then id else null endas id1,
max(case rownumber % 3 when 2 then [text] else null endas text1,
max(case rownumber % 3 when 1 then id else null endas id2,
max(case rownumber % 3 when 1 then [text] else null endas text2,
max(case rownumber % 3 when 0 then id else null endas id3,
max(case rownumber % 3 when 0 then [text] else null endas text3
from 
(
select row_number() over(order by [type] descas rownumber,[id],[text] from tablename) A
group by (rownumber+2)/3
变多列以此类推
posted @ 2008-06-03 23:44  天际翔龙  阅读(3589)  评论(6编辑  收藏  举报