SQL结果作为网格/单行结果集输出到多行

时间:2013-04-23 09:26:00

标签: sql sql-server-2008 resultset

是否可以将结果集输出为网格?例如,我使用sql输出以下结果集:

col1    col2    col3    col4    col5    col6    col7    col8    col9
10      23      54      12      23      45      56      24      2

但是输出形成一个长行而不是输出,我可以使用它来输出它:

col1    col2    col3
10      23      54
12      23      45
56      24      2

所以我基本上每隔三列打破结果行。

此外,输出将是对连接的sql表中的数据执行的各种计算的组合,以防这会产生影响。

1 个答案:

答案 0 :(得分:2)

如果您不介意手动定义要拆分的列,并且格式将保持不变,则可以使用CROSS APPLY ... VALUES取消数据的取消。 e.g。

SELECT  c.Col1, c.Col2, c.Col3
FROM    T
        CROSS APPLY
        (   VALUES
                (Col1, Col2, Col3),
                (Col4, Col5, Col6),
                (Col7, Col8, Col9)
        ) c (Col1, Col2, Col3);

<强> Example on SQL Fiddle