使用SQL Server 2000逐行顯示的行明智
table1的
ID Value
101 100
102 200
103 500
我只有3排在表格中。我想在行方向視做
預期輸出
101 102 103
100 200 500
如何使上述條件的選擇查詢。
需要查詢幫助
使用SQL Server 2000逐行顯示的行明智
table1的
ID Value
101 100
102 200
103 500
我只有3排在表格中。我想在行方向視做
預期輸出
101 102 103
100 200 500
如何使上述條件的選擇查詢。
需要查詢幫助
如果您defenitely知道哪些值你在ID
列,您可以使用這樣的查詢:
SELECT
MAX(id_101) AS id_101,
MAX(id_102) AS id_102,
MAX(id_103) AS id_103
FROM (
SELECT
1 AS aux,
CASE WHEN ID = 101 THEN val ELSE null END AS id_101,
CASE WHEN ID = 102 THEN val ELSE null END AS id_102,
CASE WHEN ID = 103 THEN val ELSE null END AS id_103
FROM table1
) AS t(aux, id_101, id_102, id_103)
GROUP BY t.aux;
假設101,102,103是列名,你可以旋轉表usign PIVOT:
SELECT *
FROM
(
SELECT id, value
FROM @data1
) p
PIVOT (SUM(value) FOR [id] IN ([101], [102], [103])) AS pvt
準備數據:
DECLARE @data1 TABLE(id int, value INT)
INSERT INTO @data1 VALUES(101, 100)
INSERT INTO @data1 VALUES(102, 200)
INSERT INTO @data1 VALUES(103, 500)
Pivot是sql server 2008,OP是使用2000 –
輸出結果是一個表?應該如何顯示標題「ID」和「值」? – sll
參考中提及的ID和值..... – Gopal
結果中的「101」,「102」,「103」是什麼?他們是列名還是他們在一行中的值(特別是第一行,可能)? –