2011年3月25日 星期五

FOR XML PATH 多筆資料合併為一筆

參考來源
--
SELECT [SalesOrderID],
(
SELECT [ProductID] + ',' FROM [sales].[SalesOrderDetail] as s2
WHERE s1.SalesOrderID=s2.SalesOrderID
FOR XML PATH('')
) as ProductID
FROM [sales].[SalesOrderDetail] as s1
group by [SalesOrderID],[ProductID]

--
數字跟字串欄位作字串串接
cast([ProductID] as nvarchar)

2 則留言:

  1. 您好: 我在搜尋"sql多筆資料合併"看到您的文章,我目前也有同樣的需求,但是使用Access,有試過將您的範例套進去使用但失敗了,請問若是用Access,在查詢裡的SQL輸入改如何修改才能達到相同目的呢?
    我對SQL語法不了解,但為了處理資料只好找網路上的範例來改,希望可以得到您的協助,拜託您了,謝謝:)

    回覆刪除
    回覆
    1. hi,您好:
      access 沒有 for xml path 的指令,這是針對MS-SQL 2005(含)以上的功能!
      若要在access 作多筆合併得用傳統方式(迴圈式組合相關欄位)或是轉暫存表方式

      刪除