1. ホーム
  2. sql

[解決済み] FROM のサブクエリにはエイリアスが必要です。

2022-02-04 18:56:40

質問

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で同様のクエリを持っていますが、問題なく動作しています。唯一の変更点は 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