請考慮此表:如何列轉換爲列在SQL Server
ID Page Line C01 C02 C03
---------------------------------------------------------------------
1 122 11 1 0 1
1 123 11 1 1 1
1 124 12 0 0 0
1 125 16 1 0 1
1 127 11 0 1 0
我想這個表格轉換成這一個:
ID Page Line City Value
-----------------------------------------------------------
1 122 11 C01 1
1 122 11 C02 0
1 122 11 C03 1
1 123 11 C01 1
1 123 11 C02 1
1 123 11 C03 1
...
我怎麼能以適當的方式做到這一點?
我猜的想法必須具備一般清晰,但:1)在Transact-SQL,雙引號用於分隔*名稱*(默認情況下,無論如何)。要分隔字符串常量,可以使用* single *引號。 2)UNION刪除重複的行。即使重複的可能性不大(例如在這種情況下),查詢計劃可能仍然包括刪除它們的步驟,這很可能是性能問題。改爲使用UNION ALL。 3)應該爲最後兩列提供別名。 –
謝謝Andriy的澄清。欣賞它。 – Senthil