У меня есть такой запрос:
SELECT jobs.*,
(CASE WHEN lead_informations.state IS NOT NULL THEN lead_informations.state ELSE 'NEW' END) as lead_state
FROM "jobs"
LEFT JOIN lead_informations
ON lead_informations.job_id = jobs.id
AND lead_informations.mechanic_id = 3
WHERE (lead_state = 'NEW')
Что дает следующая ошибка:
PGError: ERROR: column "lead_state" does not exist
LINE 1: ...s.id AND lead_informations.mechanic_id = 3 WHERE (lead_state...
В MySql это действительно, но, видимо, не в Postgresql. Из того, что я могу собрать, причина в том, что часть запроса SELECT
оценивается позже, чем часть WHERE
. Существует ли общий способ решения этой проблемы?