SQL語句用一個表的數據更新另一個表


https://www.cnblogs.com/xu-yi/p/10501594.html

在Sqlserver的維護更新操作中,有時候涉及到Update操作,其中有一種情況是根據特定的條件,以一個表中的數據更新另一個表的數據,此時涉及到兩個表之間的關系以及操作,此處介紹2種更新方法。

(1)方法一格式:Update a set a.name=b.name1 FROM tableA a, tableB b where a.id=b.id"

在上述格式中,以tableB中的數據字段name1更新tableA中的數據字段name,更新條件是兩個表中對應行的id相等。

(2)with As更新語句

With tempTb AS

(

SELECT a.*,(Select Top 1 name1 FROM tableB b Where b.id=a.id) AS New_Name FROM tableA a

)

Update tempTb Set name=New_Name;

這種方法在更新語句執行前,可以選擇括號里面的語句先查詢,通過查詢可預先知道影響的數據行數以及預設中更新后的結果。

with as用法不熟悉者慎用此更新方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM