簡體   English   中英

基於另一個表的SQL更新列

[英]SQL update column based on another table

有什么方法可以基於另一個表的列更新表?

例如,如果我使用AdventureWorks2008R2.Production.Product表,則有500種產品,每個產品都有一個ID ProductID和產品編號ProductNumber

因此,如果我有另一個名為AdventureWorks2008R2.Production.ProductRev表,並且在該表中, ProductNumber列僅包含這些產品編號中的31個。 我可以更新AdventureWorks2008R2.Production.Product刪除匹配的那些產品編號嗎?

因此, ProductRev表中的AK-5381將用於刪除AdventureWorks2008R2.Production.Product表中的AK-5381 ProductNumber

在此處輸入圖片說明

在此處輸入圖片說明

結果將是:

在此處輸入圖片說明

嘗試這個...

delete from p 
from [AdventureWorks2008R2].[Production].[Product] as p
inner join  [AdventureWorks2008R2].[Production].[ProductRev] as  pr on 
pr.ProductNumber=p.ProductNumber

我相信這就是您要尋找的...它基於在每個表中的ProductNumber的基礎上成功與ProductRev表進行JOIN ,刪除了Product表中的行。

DELETE P
    FROM AdventureWorks2008R2.Production.Product P
JOIN AdventureWorks2008R2.Production.ProductRev PR
    ON P.ProductNumber = PR.ProductNumber

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM