오래된 MS-Access 기반 시스템을 PostgreSQL로 변환하고 있습니다. Access에서 SELECT로 구성된 필드는 다음과 같이 이후 필드에 대한 방정식의 일부로 사용될 수 있습니다.
SELECT
samples.id,
samples.wet_weight / samples.dry_weight - 1 AS percent_water,
100 * percent_water AS percent_water_100
FROM samples;
PostgreSQL 에서이 작업을 수행하면 Postgres에서 오류가 발생합니다.
오류 : "percent_water"열이 없습니다.
하위 선택에서 선택하여이 문제를 해결하는 방법은 다음과 같습니다.
SELECT
s1.id,
s1.percent_water,
100 * s1.percent_water AS percent_water_100
FROM (
SELECT
samples.id,
samples.wet_weight / samples.dry_weight - 1 AS percent_water
FROM samples
) s1;
복잡한 중첩을 피하기 위해 첫 번째 코드 블록과 같은 바로 가기가 있습니까? 나는 또한 말할 수는 100 * (samples.wet_weight / samples.dry_weight - 1) AS percent_water_100
있지만, 이것은 내 코드에서 진행되는 훨씬 더 큰 수학 시스템에 대한 작은 예일뿐입니다. 수십 개의 복잡한 수학 비트가 서로 쌓여 있습니다. 나는 반복하지 않고 가능한 한 깨끗하게하는 것을 선호한다.