我已经构建了这个SQL Query,它搜索所有策略号并返回所有多个PPOLNO货币值的总和:
SELECT PPOLNO, SUM(PPRMPD) AS SUM
FROM PFNTLPYMTH
WHERE SUM(PPRMPD) >= 5000
AND ((PYEAR=2012 AND PMONTH >=3
AND PDAY >=27) OR (PYEAR=2013
AND PYEAR <=3 AND PDAY<=27))
GROUP BY PPOLNO
Run Code Online (Sandbox Code Playgroud)
我正在做的只是在SUM> =特定值时才返回它们.这可能吗?怎么样?我试过这个:
SELECT PPOLNO, SUM(PPRMPD) AS SUM FROM PFNTLPYMTH
WHERE SUM(PPRMPD) >= 5000 AND ((PYEAR=2012 AND PMONTH >=3 AND PDAY >=27) OR (PYEAR=2013
AND PYEAR <=3 AND PDAY<=27)) GROUP BY PPOLNO
Run Code Online (Sandbox Code Playgroud)
但无济于事.我刚刚尝试输入WHERE SUM> = 5000,但是再一次没有.
任何帮助将不胜感激.
Der*_*omm 18
每当您需要在聚合(即SUM)上执行"WHERE"子句时,您需要使用该HAVING子句.
SELECT PPOLNO, SUM(PPRMPD) AS SUM FROM PFNTLPYMTH
WHERE ((PYEAR=2012 AND PMONTH >=3 AND PDAY >=27) OR (PYEAR=2013
AND PYEAR <=3 AND PDAY<=27)) GROUP BY PPOLNO
HAVING SUM(PPRMPD) >= 5000
Run Code Online (Sandbox Code Playgroud)