Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ORA-00920:在子查询内使用聚合时关系运算符无效_Sql_Oracle_Subquery - Fatal编程技术网

Sql ORA-00920:在子查询内使用聚合时关系运算符无效

Sql ORA-00920:在子查询内使用聚合时关系运算符无效,sql,oracle,subquery,Sql,Oracle,Subquery,我正在用Oracle编写一个简单的查询 选择CN.MyColumn1, SUMCN.mycolumn 2-CN.mycolumn 3+CN.mycolumn 4, 案例 何时存在 选择“t” 来自表1 CN2 其中CN2.MyColumn1=CN.MyColumn1 和CN2.MyColumn5=0 和CN2.MyColumn2-CN2.MyColumn3+CN2.MyColumn4>= SUMCN.MyColumn2-CN.MyColumn3+CN.MyColumn4*0.5 然后“是” 否则

我正在用Oracle编写一个简单的查询

选择CN.MyColumn1, SUMCN.mycolumn 2-CN.mycolumn 3+CN.mycolumn 4, 案例 何时存在 选择“t” 来自表1 CN2 其中CN2.MyColumn1=CN.MyColumn1 和CN2.MyColumn5=0 和CN2.MyColumn2-CN2.MyColumn3+CN2.MyColumn4>= SUMCN.MyColumn2-CN.MyColumn3+CN.MyColumn4*0.5 然后“是” 否则“不” 终止 来自表1 CN 按CN.mycolumn分组1 菌落总数CN.MyColumn2-CN.MyColumn3+CN.MyColumn4<6; 但是我越来越

SQL错误[920][42000]:ORA-00920:无效的关系运算符


问题源于

SUMCN.MyColumn2-CN.MyColumn3+CN.MyColumn4*0.5中使用的总和聚合

需要在HAVING子句中使用。您可以尝试使用以下选项:

SELECT CN.MyColumn1,
       SUM(CN.MyColumn2 - CN.MyColumn3 + CN.MyColumn4),
       (CASE 
          WHEN EXISTS (
             SELECT 't' 
             FROM Table1 CN2 
             WHERE CN2.MyColumn1  = CN.MyColumn1 
               AND CN2.MyColumn5= 0 
            HAVING (CN2.MyColumn2- CN2.MyColumn3+ CN2.MyColumn4) >= 
                SUM(CN.MyColumn2- CN.MyColumn3 + CN.MyColumn4) * 0.5)
          THEN 'Yes' 
          ELSE 'No' 
       END)
FROM Table1 CN 
GROUP BY CN.MyColumn1 
HAVING SUM (CN.MyColumn2- CN.MyColumn3 + CN.MyColumn4) < 6;