4
SQL返回從表中的結果如下:CowTracking使行值成列的值 - SQL PIVOT
ID cow_id barn_id
-- ------ -------
19 5 3
20 5 2
21 5 9
22 5 1
我試圖得到一個PIVOT以下結果在SQL
cow_id barn1 barn2 barn3 barn4
------ ----- ----- ----- -----
5 3 2 9 1
這是我迄今爲止的代碼。
SELECT *
FROM
(
SELECT TOP 4 *
FROM CowTracking
WHERE cow_id = 5
) AS DataTable
PIVOT
(
MIN(barn_id) **IDK what function to use and which column to use it on**
FOR ID ??<---**NOT SURE**
IN
(
[barn1], [barn2], [barn3], [barn4]
)
) AS PivotTable
ERRORS: Error converting data type nvarchar to int
The incorrect value "barn1" is supplied in the PIVOT operator
注意:barn_id是一個varchar。它不可能改變數據類型。
我不想加/乘/聚合或其他。我只是試圖將該行移動到列
我該如何去做這件事? 這是正確的思維過程嗎?
我甚至需要使用PIVOT嗎?
你的第一個建議是當場上。起初我很擔心,因爲ID會一直改變。但後來我宣佈了一個新的專欄,並設置了它,以便它始終是1 - 4。然後我能夠完成它。感謝隊友,非常感謝。帶我一點點,讓我的頭繞着這個概念 – sQuijeW 2012-02-02 20:34:16
@sQuijeW - 不客氣。如果這回答你的問題,你可以將它標記爲*([接受答案如何工作?](http://meta.stackexchange.com/questions/5234))* – 2012-02-02 20:49:31