如何将行更改为列

时间:2014-12-26 06:55:49

标签: sql

请帮我解决SQl中的这个问题,我的数据看起来是以下格式。

Row
------------
a
b
c
d
e
f
g
h
i 

并且输出应显示在格式下方。请帮我解决以下SQL格式。

Col -1   col- 2    Col--3
-- 
a          b         c
d          e         f
g          h         i
j          k         L

1 个答案:

答案 0 :(得分:0)

您需要使用Pivot来执行此操作。

SELECT [1] [Col-1],
       [2] [Col-2],
       [0] [Col-3]
FROM  (SELECT ( Row_number()
                  OVER(
                    ORDER BY Row) - 1 ) / 3 + 1 new,
              Row_number()
                OVER(
                  ORDER BY Row )% 3             rn,
              *
       FROM   Tablename) a
      PIVOT (Max(Row)
            FOR Rn IN([1],
                      [2],
                      [0]))piv