Доброго времени суток!
Вопрос следующий. Допустим, в SELECT мы вычислили некоторое значение (например, через подзапрос) и выводим его для текущего ROW через некий псевдоним. Как в последующей выборке использовать это значение?
Накидал простенький пример. Допустим, я вычел некую разницу между датой в столбце конкретной записи и текущей датой. Затем, мне нужно использовать это значение в конструкции CASE, но проблема в том, что в конструкции CASE нельзя напрямую использовать имя псевдонима (column "minutes_passed" does not exist), хотя имена других столбцов (которые не вычисляются) вполне получается использовать.
SET TIME ZONE 'UTC';
SELECT
payment_id,
extract(EPOCH from (now() - updated_at::timestamp) / 60) AS minutes_passed,
CASE
WHEN 60 - minutes_passed > 0
AND 60 - minutes_passed <= 15 THEN 'expires'
WHEN 60 - minutes_passed > 15 THEN 'success'
ELSE 'expired'
END
AS exp_status
FROM public.payments;
Спасибо.