我有一个表(CMS),它需要一个基于CMS中的列更新的列和另一个表。。。CUST中的行由CMS&CUST呼叫CUSTNUM。。。我不能按预期工作,有什么帮助吗?
update CMS
set SHIPLIST = 'FEG'
from CMS
inner join CUST on CMS.CUSTNUM = CUST.CUSTNUM
谢谢。
您的查询看起来不错。还有其他方式来表达查询,例如:
update CMS
set SHIPLIST = 'FEG'
where CMS.CUSTNUM in (select Cust.CUSTNUM from Cust);
如果在Cust
表中存在多个匹配,则这可以具有更好的性能。但是,如果您的第一个版本失败了,那么这可能也会失败。
您还可以很好地使用相关更新查询
请参阅下面的帖子:
https://www.ibm.com/support/knowledgecenter/ssw_i5_54/sqlp/rbafyexsub4.htm
不确定sql server。但这将适用于MySQL
update CMS
inner join CUST on CMS.CUSTNUM = CUST.CUSTNUM
set CMS.SHIPLIST = 'FEG'
顺序应该是先JOIN,然后SET
您的查询看起来不错。。。当我在我的测试实验室检查时,它起了作用。
更新CMSset SHIPLIST='FEG'来自CMSCMS上的内部联接CUST。CUSTNUM=CUST.CUSTNUM