我要做的是,消除所有修改日期小于CI_NAME列中每个条目的最大日期的行

  • 本文关键字:日期 NAME 小于 我要 修改 CI sql sql-server
  • 更新时间 :
  • 英文 :

DELETE FROM MOBILE_CELONIS_SITES 
WHERE CI_NAME IN (SELECT CI_NAME 
FROM MOBILE_CELONIS_SITES 
GROUP BY CI_NAME 
HAVING COUNT(CI_NAME) > 1) 
HAVING MODIFIED_DATE != (SELECT MAX(MODIFIED_DATE) 
FROM MOBILE_CELONIS_SITES 
GROUP BY CI_NAME);

我得到一个错误:

执行错误:关键字'HAVING'附近语法错误。

我要做的是,消除所有修改日期小于CI_NAME列中每个条目的最大日期的行

使用exists如下:

DELETE FROM MOBILE_CELONIS_SITES t
WHERE exists 
(Select 1 from MOBILE_CELONIS_SITES tt
Where t.CI_NAME = tt.CI_NAME
And tt.MODIFIED_DATE > t.MODIFIED_DATE)

相关内容

最新更新