我收到错误:SQL 错误:ORA-00979:不是 GROUP BY 表达式 00979.00000 - “不是 GROUP BY 表达式”

问题描述 投票:0回答:2

我的代码是:

   SELECT  EFF_DATE, COUNT(EFF_DATE),name
FROM TBL_LCR_REP_PROFILE_DETAIL 
WHERE is_standard = 0 and name ='ساير جريانات نقدي ورودي  و اشخاص حقوقي غيرمالي';
GROUP BY  EFF_DATE,name
HAVING COUNT(EFF_DATE) = 43;

但我得到错误 请帮助我

我的错误是:

Error starting at line : 5 in command -

有计数(EFF_DATE)= 43 错误报告 - 未知命令

sql oracle group-by
2个回答
1
投票

问题出在你的 having 子句上。

试试这个:

SELECT VALUE, EFF_DATE, COUNT(EFF_DATE)  
FROM TBL_LCR_REP_PROFILE_DETAIL 
WHERE is_standard = 0
GROUP BY VALUE, EFF_DATE
HAVING COUNT(EFF_DATE) = 43;

向我们展示您的表格结构可能会有所帮助。


0
投票

怀疑你想要以下逻辑:

SELECT VALUE, EFF_DATE, COUNT(EFF_DATE)  
FROM TBL_LCR_REP_PROFILE_DETAIL 
GROUP BY VALUE, EFF_DATE
HAVING COUNT(CASE WHEN is_standard = 0 THEN 1 END) > 0 AND
       COUNT(EFF_DATE) = 43;

这假设您要返回价值/生效日期组合,这些组合至少有一个带有

is_standard = 0
的记录。

© www.soinside.com 2019 - 2024. All rights reserved.