資料庫資料表中,想要將同一資料欄的資料合併顯示時,可以考慮採取 使用 for xml path 。以下進行範例說明:
首先範例資料如下:
OrderID | ProductID | UnitPrice | Quantity | Discount |
---|---|---|---|---|
10248 | 11 | 14 | 12 | 0 |
10248 | 42 | 9.8 | 10 | 0 |
10248 | 72 | 34.8 | 5 | 0 |
想要把同個 OrderID 資料的 ProductID 和 UnitPrice 合併在一起顯示的時候,使用 for xml path
1 | SELECT |
其呈現結果如下,11--12,42--10,72--5
這個組合出來的字串,最前面會多出一個 comma(逗號,),所以將多餘的分隔符號用 stuff 移除,其語法如下,或是觀看線上範例
1 | select [OrderID], stuff(mergingOd.pu,1,1,'') combineStr |
資料呈現
OrderID | combineStr |
---|---|
10248 | 11–14.00,42–9.80,72–34.80 |
如果不轉換字串,直接使用 For XML Path 的話,那就會轉換成 XML,而 XML 的節點名稱是可以改變的
線上範例
1 | ELECT |
資料呈現<pid>11</pid><pid>42</pid><pid>72</pid>