您好,我是 pl sql 的新手,正在尝试进行如下查询:
SELECT column1, sum (column2)
FROM table1
WHERE sum (column2) <> 0
GROUP BY column1
基本上我想做的是只选择那些按column1分组的sum(column2)为<> 0的行。
这个查询给了我一个 ORA-00934 错误,这是有道理的,因为在 WHERE 子句中没有指定求和操作必须按 column1 分组(或者至少我认为这是问题所在)。
我尝试了不同的解决方案,例如:
SELECT CASE WHEN SUM(column2) <> 0 then (SUM(column2), column1) END
...
但 pl-sql 不喜欢它。
什么是有效的:
SELECT column1, case when SUM(column2) <> 0 then SUM(column2) END
...
但在这种情况下,我并没有我想要的,因为结果是一个伪表,就像 SELECT column1, SUM(column2)... 中的那个一样,除了我看到 SUM(column2) = 0 的白色字段虽然我不想看到整行。
有谁能够帮助我?
谢谢你