where子句中select子句的Doctrine和aliases

时间:2010-06-30 19:18:50

标签: php zend-framework doctrine

我在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

2 个答案:

答案 0 :(得分:1)

尝试而不是在哪里。

答案 1 :(得分:1)

看看这个:

http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html

  

标准SQL不允许在WHERE子句中引用列别名。   强制执行此限制是因为WHERE子句是   评估后,列值可能尚未确定。对于   例如,以下查询是非法的:

您必须添加HAVING子句或在WHERE子句中重复您的别名。