对于示例表,'tbl'具有a,b,dt和flag列。其中a和b列一起形成独特的组合。
需要将所有标志列更新为对于具有将来日期的所有记录不活动
并使用max(dt)<=当前日期将标记标记为活动的相同记录。
正如尼古拉斯所说:
试试这个它应该工作:
UPDATE tbl SET FLAG = 0 WHERE dt > GETDATE(); UPDATE tbl SET FLAG = 1 WHERE dt <= GETDATE();