2013-10-24 73 views
2

我有一個名爲TableSource1的表,我想要兩個名爲tCIFTAtCPlS的字段並複製該信息。到名爲TableDest的另一個表中,該表具有相同的字段名稱tCIFTAtCPlS,但僅在UNIT_NO相同。使用另一個表中的值更新單列中的多條記錄

TableDest有很多的可能含有匹配UNIT_NO多次,我想用同樣的方式來更新所有的記錄,所以它會通過TableDest表尋找匹配UNIT_NO,如果有環找到一個匹配它會更新這兩個字段。

這樣的事情?

UPDATE TableDest tCIFTA,tCPlS 
SET 
tCIFTA = (select tCIFTA from TableSource1 where UNIT_NO= TableDest.UNIT_NO) 
tCPlS = (select tCPlS from TableSource1 where UNIT_NO= TableDest.UNIT_NO) 

AND THEN LOOP THE TABLE: TableDest 

回答

0

我認爲這是你在找什麼:

--(1) Check if you are getting correct results with this 
Select Td.UNIT_NO, Ts.tCIFTA, Ts.tCPlS 
From TableDest Td join TableSource1 Ts 
     on Td.UNIT_NO = Ts.UNIT_NO 

--(2) Run this if above query reuslts are correct to Update the table 
Update Td set Td.tCIFTA = Ts.tCIFTA, Td.tCPlS = Ts.tCPlS 
From TableDest Td join TableSource1 Ts 
     on Td.UNIT_NO = Ts.UNIT_NO 

除非你是100%肯定的結果,請不要放棄你的表。表格語法爲:

DROP TABLE yourTableName 
相關問題