sql - FROM 中的子查询必须有一个别名

标签 sql oracle postgresql subquery

我有一个用 PostgreSQL 编写的查询,它返回一条错误消息:

[Err] ERROR:
LINE 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 的新手,不知道它要求什么。处理此问题的正确方法是什么?

最佳答案

在子查询上添加一个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

关于sql - FROM 中的子查询必须有一个别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14767209/

相关文章:

php - 为什么论坛数据库不在 3rd NF 中?

Oracle Linux 7 (AWS) 上的 Oracle 12c 到 Hadoop 节点

database - Oracle 数据库中的冲突触发器

sql - 从 plpgsql 中的执行查询字符串返回值

SQL 查询 where 子句太长

sql - 如何处理 pl/sql block 中的编译时异常?

django - 如何使用来自 Postgres 的数据正确填充 Docker Django 图像?

python - 在 python 中声明 "MUL key"字段。 (django 框架)

django - 编程错误 : column cannot be cast automatically to type double precision

Mysql 获取所有子项