121

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を初めて使用し、何を求めているのかわかりません。これを処理する正しい方法は何ですか?

4

2 に答える 2

168

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
于 2013-02-08T06:50:40.693 に答える