0

是否可以将结果集输出为网格?例如,我使用 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 表中的数据执行的各种计算的组合,以防万一这会有所不同。

4

1 回答 1

2

如果您不介意手动定义要拆分的列,并且格式将保持固定,您可以使用它CROSS APPLY ... VALUES来取消透视数据。例如

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);

SQL Fiddle 示例

于 2013-04-23T09:39:04.723 回答