在 IBM DB2 查询中使用 FILTER

Using FILTER in IBM DB2 query


我有一些在 PostgreSQL 中可以正常工作的查询,但我必须使用它们来进行 IBM DB2 查询。 “FILTER”似乎不适用于 DB2。

我的 PGSQL 查询:

SELECT CODACT, SUM(CUMCOL) FILTER(WHERE etasup > 20), SUM(CUMCOL)
FROM gesupe WHERE typsup= '1' AND (DATLIV = 20220428 OR DATLIV = 20220429) GROUP BY CODACT

当我将它与 DB2 一起使用时,出现此错误:

Element '(' not correct. Possible elements : , FROM INTO

一般来说,把FILTER改写成CASE语句应该是可以的。类似于:

SUM(CASE WHEN etasup > 20 THEN CUMCOL END)