2014-12-05 48 views
-1

我有一個查詢結果如下所示。正如你所看到的,grp_code列是相同的。將多行轉換爲一列SQL Server 2008

我想從find_description列中創建一個字符串,並將結果顯示在一列中。我有幾個這樣的項目,我希望有一個簡單的方法。

Group Description   Grp Code  Find Code   Find description 
Pre Procedure    CENTL8   FND102757   Labs Reviewed 
Pre Procedure    CENTL8   FND102758   Consent verified 
Pre Procedure    CENTL8   FND102759   History 
Pre Procedure    CENTL8   FND120760   Assemble equipment 

結果所需

Labs Reviewed, Consent Verified, History, Assemble equipment 
+1

你在這方面做了什麼嘗試?你的列名和表名稱是什麼,所以有人可以幫助把查詢放在一起。你是否建立了一個字符串分隔的列表,以便自己嘗試這個呢? – Jt2ouan 2014-12-05 15:55:15

回答

0

你會使用的東西的功能和XML路徑建立一個字符串分隔列表列。

SELECT 
    Group_description 
    ,Grp_code 
    ,Find_code 
    ,find_descriptionString = STUFF((
      SELECT ', ' + md.find_description 
      FROM *table_name* 
      WHERE m.group_code = md.group_code 
      FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') 
FROM *table_name* m 
GROUP BY m.grp_code 
     ,group_description 
     ,find_code 
+0

感謝您的回答。如果我把你的解決方案,我得到以下錯誤 – 2014-12-16 00:46:39

+0

什麼是錯誤? – Jt2ouan 2014-12-16 02:14:23