我有一个用PostgreSQL编写的查询,它返回一个错误:
错误:
第3行: FROM (选择DISTINCT (identifiant)作为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的新手,不知道它要求什么。处理这个问题的正确方法是什么?
发布于 2013-02-08 14:50:41
将ALIAS
添加到子查询中,
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'
) AS derivedTable -- <<== HERE
发布于 2020-03-26 11:13:24
在嵌套表的情况下,一些数据库管理系统要求使用MySQL和Oracle等别名,而其他数据库管理系统则没有这样严格的要求,但仍然允许添加别名以替换内部查询的结果。
https://stackoverflow.com/questions/14767209
复制相似问题