[英]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.