我在select子句(AVG(u.rating) as avg_rating
)中使用别名,然后想在where子句avg_rating > 3
中添加它,但是当我尝试运行此查询时,我得到{{1} }。
有没有人碰巧知道如何通过where子句来查看别名?此别名适用于Unknown column 'u3__1' in 'where clause'
,没有问题,只有orderBy
。
编辑:(详情请见)
上面是一个例子,但这里是真正的渲染SQL,而不是简单。我的问题实际上是带有一堆条件的别名。我遇到麻烦的别名是生成的日期,它有重复发生,而不是每个日期字段都填充。所以我发布了一个简单的SQL查询,给出了同样的问题。
where
如果您对此感兴趣,这是真正的查询:
SELECT t.type_id as type_alias, t.* FROM theme as t WHERE t.id > 1 AND type_alias = 3
答案 0 :(得分:1)
尝试而不是在哪里。
答案 1 :(得分:1)
看看这个:
http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html
标准SQL不允许在WHERE子句中引用列别名。 强制执行此限制是因为WHERE子句是 评估后,列值可能尚未确定。对于 例如,以下查询是非法的:
您必须添加HAVING子句或在WHERE子句中重复您的别名。