> 데이터 베이스 > MySQL 튜토리얼 > 동일한 PostgreSQL 쿼리에서 계산된 열을 어떻게 사용할 수 있습니까?

동일한 PostgreSQL 쿼리에서 계산된 열을 어떻게 사용할 수 있습니까?

DDD
풀어 주다: 2025-01-14 08:40:42
원래의
167명이 탐색했습니다.

How Can I Use Calculated Columns in the Same PostgreSQL Query?

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_1total_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_1total_2 별칭을 성공적으로 참조할 수 있습니다. 이 방법은 성능 오버헤드를 발생시키지 않습니다.

위 내용은 동일한 PostgreSQL 쿼리에서 계산된 열을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿