【发布时间】:2020-06-29 04:53:48
【问题描述】:
有没有一种方法可以在 CASE 语句中使用聚合函数作为同一个 select 的一部分? 当我运行下面的查询时,我收到以下错误 ORA-00937: not a single-group group function 00937. 00000 - “不是单组群功能”。
SELECT
A.id id,
SUM(B.quantity) quantity ,
MAX(CASE WHEN nvl(A.threshold,0) > SUM(B.quantity) THEN 'T' ELSE 'F' END ) late
FROM
TableB B ,
TableA A
WHERE B.Type in ('ATYPE,'BTYPE') AND A.nKey = B.id
GROUP BY
A.id
表 B
id quantity Type
9 10 Type A
9 11 Type B
10 5 Type A
表 A
id nkey threshold
1 9 15
2 10 10
结果
id quantity late
1 21 F
2 5 T
【问题讨论】:
标签: oracle