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



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

如果您不介意手动定义要分割的列,并且格式将保持固定,则可以使用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示例

相关内容

  • 没有找到相关文章

最新更新