有没有办法可以根据另一个表的列更新表格?
例如,如果我使用AdventureWorks2008R2.Production.Product
表,则有500种产品,每种产品的ID为ProductID
,产品编号为ProductNumber
。
因此,如果我有另一个名为AdventureWorks2008R2.Production.ProductRev
的表,并且在该表中,ProductNumber
列只有31个产品编号。我可以更新AdventureWorks2008R2.Production.Product
以删除匹配的产品编号吗?
所以来自ProductRev
表的AK-5381将用于删除ProductNumber
表中的AK-5381 AdventureWorks2008R2.Production.Product
结果将是:
答案 0 :(得分:1)
试试这个......
delete from p
from [AdventureWorks2008R2].[Production].[Product] as p
inner join [AdventureWorks2008R2].[Production].[ProductRev] as pr on
pr.ProductNumber=p.ProductNumber
答案 1 :(得分:1)
我相信这正是您要找的...它会根据成功Product
删除JOIN
表中的行,ProductRev
表基于{ProductNumber
表每个表格中都有1}}。
DELETE P
FROM AdventureWorks2008R2.Production.Product P
JOIN AdventureWorks2008R2.Production.ProductRev PR
ON P.ProductNumber = PR.ProductNumber