FROMのサブクエリには別名が必要です 質問する

FROMのサブクエリには別名が必要です 質問する

PostgreSQL で作成したクエリが次のようなエラーを返します:

[エラー] エラー:
行 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 にも同様のクエリがあり、問題なく動作します。唯一の変更点は、EXCEPTOracle で をキーワードに置き換えたことですMINUS。Postgres は初めてなので、何を要求しているのかわかりません。これを処理する正しい方法は何ですか?

ベストアンサー1

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

おすすめ記事