0
我有一個表下方SQL查詢來創建單排多行
ID Value
----- ----------
1 10,20,30
給出我需要的結果作爲
ID Value
--- -------
1 10
1 20
1 30
感謝。
我有一個表下方SQL查詢來創建單排多行
ID Value
----- ----------
1 10,20,30
給出我需要的結果作爲
ID Value
--- -------
1 10
1 20
1 30
感謝。
請嘗試以下方法:
SELECT A.ID,
Split.a.value('.', 'VARCHAR(100)') AS Value
FROM (SELECT ID,
CAST ('<V>' + REPLACE(Value, ',', '</V><V>') + '</V>' AS XML) AS Value
FROM YourTable
) AS A
CROSS APPLY Value.nodes ('/V') AS Split(a);
你爲什麼要在所有存儲'10,20,30'?難道不可能按照你想要的結果存儲它嗎?所以你應該用第一個表的外鍵創建一個新表。該過程稱爲[規範化](http://en.wikipedia.org/wiki/Database_normalization)。 – 2014-09-04 13:10:40
我知道你可能會認爲你正在以你存儲它們的方式賺取空間,但你將失去顯示它們的處理時間。我同意@Tim,有單獨的行。甚至還有另一張表格,用於一對多或多對多關係。這就是爲什麼我們有關係數據庫。 – 2014-09-04 13:14:08
是否有可能通過使用sql查詢得到結果? – Merin 2014-09-04 13:16:08