SELECT jobs.*,(CASE WHEN lead_informations.state IS NOT NulL THEN lead_informations.state ELSE 'NEW' END) as lead_stateFROM "jobs"left JOIN lead_informations ON lead_informations.job_ID = jobs.ID AND lead_informations.mechanic_ID = 3WHERE (lead_state = 'NEW')
其中出现以下错误:
PGError: ERROR: column "lead_state" does not existliNE 1: ...s.ID AND lead_informations.mechanic_ID = 3 WHERE (lead_state...
在MysqL这是有效的,但显然不是在Postgresql。从我可以收集,原因是查询的SELECT部分的评估晚于WHERE部分。有这个问题的常见解决方法吗?
MysqL的支持是,因为你体验到,非标准。正确的方法是重新打印在SELECT子句中使用的同一个表达式: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_informations.state IS NulL总结
以上是内存溢出为你收集整理的在Postgresql中的where子句中使用别名列全部内容,希望文章能够帮你解决在Postgresql中的where子句中使用别名列所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)