[英]updating Table from Another Table with Criteria
我正在尝试编写一个查询,该查询将用另一张表中的匹配行的ID更新一行的schemeid。
tblschemes b保存方案详细信息,tblclaims_liberty a保存声明数据,要加入的字段为b.nett_scheme = a.schemename和a.agentcode = b.agentcode
为什么然后在下面的查询中分配一个schemeid到与agentcode不匹配的数据行的id?
update tblclaims_liberty
set tblclaims_liberty.schemeid = tblschemes.id
from tblschemes inner join tblclaims_liberty on tblclaims_liberty.schemename = tblschemes.nett_scheme and tblclaims_liberty.agentcode = tblschemes.agentcode
where
ce_report = 'yes'
and (tblclaims_liberty.schemeid != tblschemes.id or schemeid is null) --only updates rows that require updateing instead of 6mil+ lines of data.
有人可以指出我正确的方向吗? 为什么无法识别座席代码匹配?
问候,
亚当
试试这个:
update tblclaims_liberty TLtoUpdate
set TLtoUpdate.schemeid =
(
select TS.id
from tblschemes TS inner join tblclaims_liberty TL on TL.schemename = TS.nett_scheme and TL.agentcode = TS.agentcode
where TL.schemeid = TLtoUpdate.schemeid
)
where TLtoUpdate.ce_report = 'yes' and TLtoUpdate.schemeid is null
看起来在子查询中缺少TL.id条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.