복붙노트

[SQL] 별명을 가지고 있어야에서 하위 쿼리

SQL

별명을 가지고 있어야에서 하위 쿼리

내가 말하는 오류를 반환 PostgreSQL을에 쓴이 쿼리를 가지고 :

이는 전체 쿼리입니다 :

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

나는 잘 작동 오라클에서 비슷한 쿼리를 가지고있다. 나는 내가 MINUS 키 워드로 교체 한 오라클 제외하고 한 곳 단 하나의 변화이다. 나는 포스트 그레스에 새로운 오전이 요구됩니다 모르겠어요. 이 처리의 올바른 방법은 무엇입니까?

해결법

  1. ==============================

    1.서브 쿼리에 별칭을 추가,

    서브 쿼리에 별칭을 추가,

    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
    
  2. ==============================

    2.중첩 된 테이블의 경우, 일부 DBMS는 엄격한 요구 사항이없는 MySQL과 오라클 그러나 다른 사람 같은 별칭을 사용하지만, 여전히 내부 쿼리의 결과를 대체 할 추가 할 수 있도록해야합니다.

    중첩 된 테이블의 경우, 일부 DBMS는 엄격한 요구 사항이없는 MySQL과 오라클 그러나 다른 사람 같은 별칭을 사용하지만, 여전히 내부 쿼리의 결과를 대체 할 추가 할 수 있도록해야합니다.

  3. from https://stackoverflow.com/questions/14767209/subquery-in-from-must-have-an-alias by cc-by-sa and MIT license