2013-04-23 37 views
0

是否可以將結果集輸出爲網格?例如I輸出以下結果集使用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 

所以我m基本上每三列打破結果行。

此外,輸出將是對聯接的SQL表中的數據執行各種計算的組合,以防萬一這會產生差異。

+0

如果有10列,即col10呢?所以col2和col3是空的? – TechDo 2013-04-23 09:30:24

+0

Hi @techdo在現實世界的例子中,這將是17乘17格,並且不會有任何空值。行和列將被修復。 – Matt 2013-04-23 09:35:34

回答

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

Example on SQL Fiddle

+0

非常感謝! – Matt 2013-04-23 10:20:46