繁体   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