2010年4月23日 星期五

update from join

最近在寫一段 SQL,好不容易 join 了好幾個 table 之後,最後一個步驟就是要更新資料表。但是真的可以在 join table 裡面使用 update 嗎?還好,真的可以。


一個簡單範例:有兩個 資料表 #tmpA , #tmpB 讓他們 left join 起來

select * from #tmpA A
left join #tmpB B
on A.t_id=B.t_id
今天我希望針對 paladin 那筆紀錄,把 t_phone 欄位 用 t_name 取代。可以用以下的寫法:

update #tmpB 
--修改電話資訊
set #tmpB .t_phone=convert(nvarchar(max),A.t_name)
from  #tmpA A
left join #tmpB B
on A.t_id=B.t_id
where  A.t_id=1 --限定只改 paladin 

執行後的結果:


參考:http://www.dotblogs.com.tw/dotjum/archive/2008/06/23/4367.aspx

沒有留言:

張貼留言