【发布时间】:2013-01-23 21:39:34
【问题描述】:
我有一个我在 PostgreSQL 中编写的查询,它返回一个错误说:
[Err] 错误:
第 3 行:FROM (SELECT DISTINCT (identifiant) AS made_only_recharge
这是整个查询:
SELECT COUNT (made_only_recharge) AS made_only_recharge
FROM (
SELECT DISTINCT (identifiant) AS made_only_recharge
FROM cdr_data
WHERE CALLEDNUMBER = '0130'
EXCEPT
SELECT DISTINCT (identifiant) AS made_only_recharge
FROM cdr_data
WHERE CALLEDNUMBER != '0130'
)
我在 Oracle 中有一个类似的查询,效果很好。唯一的变化是我在 Oracle 中有 EXCEPT 的地方,我用 MINUS 关键字替换了它。我是 Postgres 的新手,不知道它要求什么。正确的处理方法是什么?
【问题讨论】:
-
在我看来这个例外是不必要的,因为第一个 where 子句已经排除了它:
CALLEDNUMBER = '0130'。 -
Postgres 11 FWIW 仍然会出现此错误...
标签: sql oracle postgresql subquery