我有这样的代码..使用字段的名称是以中 'AS' 一个JOIN
SELECT u.*, COALESCE(c2.name,u.state) AS real_state, c.name AS real_country, bc.alpha3 AS country_iso FROM gimko_v2.users AS u
INNER JOIN gimko_v2.countries AS c ON u.country=c.id
LEFT JOIN gimko_v2.countries AS c2 ON u.state=c2.id
LEFT JOIN gimko_blesta.countries AS bc ON c.country_iso_code=bc.alpha2
LEFT JOIN gimko_blesta.states AS bs ON bc.alpha2=bs.country_alpha2 AND real_state=bs.name
WHERE u.blesta_id=0;
在这方面的问题,喜欢:
COALESCE(c2.name,u.state) AS real_state
和
LEFT JOIN gimko_blesta.states AS bs ON bc.alpha2=bs.country_alpha2 AND real_state=bs.name
我得到这个错误:
Error Code: 1054
Unknown column 'real_state' in 'on clause'
如何在JOIN
中使用COALESCE(c2.name,u.state)
的结果?
谢谢!
通过使用表达式而不是别名。 'from'子句在'select'之前被评估,所以它不知道'select'中定义的别名。 – 2014-08-29 15:44:37