la sous requête in FROM doit avoir un alias

J'ai cette requête que J'ai écrite dans PostgreSQL qui renvoie une erreur disant:

[Err] erreur:
Ligne 3: FROM (SELECT DISTINCT (identifiant) AS made_only_reccharge

C'est toute la requête:

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'
)

J'ai une requête similaire dans Oracle qui fonctionne bien. Le seul changement est où j'ai EXCEPT dans Oracle Je l'ai remplacé par le mot clé MINUS. Je suis nouveau à Postgres et je ne sais pas ce qu'il demande. Quelle est la bonne façon de gérer cela?

58
demandé sur SandPiper 2013-02-08 10:50:06

1 réponses

Ajouter un ALIAS sur la sous-requête,

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
81
répondu John Woo 2013-02-08 06:50:40