2013-10-21 460 views
0

我有表具有唯一的控制號碼和其他表具有多個控制號碼我想用其他數據更新第一個表; 例如從另一個表中更新一行有多個記錄

表1

cont_no   purchase_id 
1 
2 
3 

表2

cont_no  Purchase_id 
1   Raj 
1   swaj 
2   dim 
2   kim 
2   lim 

我想table 1 AS

1  RAJ,SWAJ 
2  DIM,KIM,TIM 

如何做到這一點?

+1

使用樞軸或unpivot的select命令,當你有正確的格式中選擇剛纔插入選擇你想要的。 –

回答

0

嘗試這種方式,

UPDATE 
T1 
SET 
T1.Purchase_id = T2.data 
FROM TABLE_1 T1 
JOIN 
(
    SELECT 
    SS.cont_no, 
    (SELECT US.Purchase_id +'; ' 
    FROM TABLE_2 US 
    WHERE US.cont_no = SS.cont_no 
      FOR XML PATH('')) [data] 
    FROM TABLE_1 SS 
    GROUP BY SS.cont_no, SS.Purchase_id 
) T2 ON T1.cont_no = T2.cont_no 

感謝 馬諾

相關問題