WHERE 절에 별칭 사용
최근 업데이트되지 않은 테이블의 행 수를 표시하도록 설계된 SQL 쿼리에서 WHERE 절의 별칭 사용으로 인해 ORA-00904 오류가 발생했습니다. 사용자는 WHERE 절에서 복잡한 DECODE 기능을 반복하지 않고 이 문제에 대한 해결책을 찾고 있습니다.
WHERE 절에서 직접 별칭을 사용하는 것은 쿼리 실행의 마지막 단계인 SELECT 이전에 WHERE가 실행되기 때문에 불가능합니다. 그러나 해결 방법으로 하위 쿼리를 사용할 수 있습니다.
<code class="language-sql">SELECT * FROM ( SELECT A.identifier , A.name , TO_NUMBER(DECODE( A.month_no , 1, 200803 , 2, 200804 , 3, 200805 , 4, 200806 , 5, 200807 , 6, 200808 , 7, 200809 , 8, 200810 , 9, 200811 , 10, 200812 , 11, 200701 , 12, 200702 , NULL)) as MONTH_NO , TO_NUMBER(TO_CHAR(B.last_update_date, 'YYYYMM')) as UPD_DATE FROM table_a A , table_b B WHERE A.identifier = B.identifier ) AS inner_table WHERE MONTH_NO > UPD_DATE</code>
이 하위 쿼리 접근 방식을 사용하면 초기 오류 없이 별칭 표현식을 기반으로 필터링할 수 있습니다.
위 내용은 SQL WHERE 절에서 별칭을 사용할 때 ORA-00904 오류를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!