2015-09-08 28 views
0

我需要一個腳本,將串聯通過plan_id的數據類型的原因值從下表冒號分隔字符串,並將其放置在一個進一步的表,堅守訂單價值。這怎麼能實現?什麼腳本會連接字符串並按列值過濾?

PLAN_ID Order Reason 
6281 1  Declined 
6281 4  Unfit 
6281 8  Other 
6281 9  Monitoring 
6286 1  Declined 
6286 5  Unknown Site 
6286 10  Not Known 

PLAN_ID Reason 
6281 Declined;Unfit;Other;Monitoring 
6286 Declined;Unknown Site;Not Known 
+0

你試過了什麼? – HABO

回答

2

類似下面應該工作:

SELECT t1.plan_id, 
     STUFF((SELECT '; ' + t2.reason 
       FROM orders AS t2 
       WHERE t1.plan_id = t2.plan_id 
       FOR XML PATH('') 
      ), 1, 2, '') as reason 
FROM dbo.orders AS t1 
GROUP BY plan_id 

您可以使用簡單的INSERT INTO..SELECT語法插入上述SELECT語句的輸出轉換成所需的表。