是否可以将结果集输出为网格?例如,我使用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示例