问题遇到的现象和发生背景
Oracle数据库 from子查询中使用left join出结果,然后结果再进行group by统计,但是报错,求指教
在Oracle数据库会报错, MySql数据库不会报错
问题相关代码,请勿粘贴截图
SELECT
c.CT,
'0',
SUM(PCOUNT),
SUM(MONEY/100)
FROM
(
SELECT
CLCT_DAY
,
CASE
WHEN CT = '100' THEN '01'
WHEN CTN = '307' THEN '02'
WHEN A.CTN=b.PARAM_KEY THEN '03'
WHEN CTN IN('502', '503') THEN '04'
WHEN CT = '1100' THEN '05'
WHEN CT = '600' THEN '06'
WHEN CT = '400' THEN '07'
WHEN CT = '500' THEN '08'
WHEN CTN = '350' THEN '09'
WHEN CTN = '35A' THEN '10'
ELSE CT
END CT,
PCOUNT,
MONEY
FROM
INFO_T A LEFT JOIN PARAM_T B
ON A.CTN=B.PARAM_KEY
WHERE
DAY = '20220117') c
GROUP BY CT;
运行结果及报错内容
SQL 错误 [979] [42000]: ORA-00979: 不是 GROUP BY 表达式
我的解答思路和尝试过的方法
未想到
我想要达到的结果
from后面是个结果集,然后对结果集进行group by分组统计