私はこのようなクエリを持っています:
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
。この問題の一般的な回避策はありますか?