簡體   English   中英

使用條件從另一個表更新表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM