我正在研究一个 2 年前担任我职位的人的代码,并且在破译他们的 SQL 代码块时遇到了麻烦。
WHERE  ACCOUNT NOT IN (SELECT ACCOUNT
                   FROM   MWAPPTS A1
                   WHERE  A1.ACCOUNT = A.ACCOUNT
                          AND ADATE > dbo.Endofmonth(ACTIONDATE)
                          AND REASON IN ('CPE','NPPE')
                          AND USERFLAG IN ( 'U', 'B' ))
dbo.Endofmonth是一个存储过程,它获取输入日期的月份的最后一天。
如果我没看错,我们不包括显示的 select 语句将返回帐户的行。我在选择语句时遇到问题。我是否正确,它正在ACCOUNT比ADATE月底更早。原因是“CPE”还是“NPPE”,USERFLAG是“U”还是“B”?