집 >데이터 베이스 >MySQL 튜토리얼 >동일한 PostgreSQL 쿼리에서 계산된 열을 어떻게 사용할 수 있습니까?
PostgreSQL 계산 열: 실용 가이드
단일 PostgreSQL 쿼리 내에서 계산된 열을 사용하면 문제가 발생할 수 있습니다. 다른 SQL 데이터베이스와 달리 PostgreSQL의 계산 열 처리에는 특정한 접근 방식이 필요합니다.
SQL 구문 비호환성 해결
다른 많은 데이터베이스 시스템에서 작동하는 다음 SQL 코드는 PostgreSQL에서 실패합니다.
<code class="language-sql">SELECT cost_1, quantity_1, cost_2, quantity_2, (cost_1 * quantity_1) AS total_1, (cost_2 * quantity_2) AS total_2, (total_1 + total_2) AS total_3 FROM data;</code>
PostgreSQL은 total_1
및 total_2
이 정의되지 않았다고 보고합니다. 이는 PostgreSQL이 계산된 열을 쿼리 실행에 대한 임시 별칭으로 처리하기 때문입니다.
효과적인 솔루션: 파생 테이블 활용
해결책은 파생 테이블(또는 하위 쿼리)을 사용하여 이러한 제한을 극복하는 것입니다.
<code class="language-sql">SELECT cost_1, quantity_1, cost_2, quantity_2, total_1 + total_2 AS total_3 FROM ( SELECT cost_1, quantity_1, cost_2, quantity_2, (cost_1 * quantity_1) AS total_1, (cost_2 * quantity_2) AS total_2 FROM data ) AS t;</code>
파생 테이블(SELECT
별칭) 내에 초기 t
문을 중첩하면 외부 쿼리가 total_1
및 total_2
별칭을 성공적으로 참조할 수 있습니다. 이 방법은 성능 오버헤드를 발생시키지 않습니다.
위 내용은 동일한 PostgreSQL 쿼리에서 계산된 열을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!