我有一个如下所示的表--tblMatch.Here我正在比较每个custId与MCustID,以检查谁拥有最早的日期,并根据结果我正在使用下面显示的更新查询更新主表活动标志.Instead在每行之后立即进行更新,我想仅在潜在a = b = c场景存在的行之间进行比较之后才进行更新(这里a = b和a = c表示a = c。以下为例如:我们可以看到200和300通过100相关但在第一行更新100之后是非活动的,我想在200和300之间进行额外的比较以确保哪个更大。我相信CTE应该解决问题。你能不能请帮忙吗?
ID CustID MCustID Date MDate
1 100 200 2017-01-10 2017-01-15
2 100 300 2017-01-10 2017-01-07
update A
set active = 0
from Cust A inner join tblMatch M
on A.CustomerID = case when M.Date < M.MDate then M.CustId else M.MCustId end