我想这是一件非常简单的事情,但我找不到解决方法。这是我的查询;
SELECT A.*,MAX(A.id) as X
FROM A
INNER JOIN B ON(B.id=A.id)
WHERE B.y > IF(X < 75, 0, 100)
mysql 出现错误,指出列“X”未知。我不想将 if 子句中的 'X' 替换为SELECT MAX(A.id) from A
,因为它会大大减慢查询速度,因为我认为它会SELECT MAX(A.id) from A
查询B.y
. 如果我并不真正期望这种方法是不可能的,那么我必须调用两个不同的查询,首先获取最大标量值,然后将其放入上面的查询中。我想知道它是否可以在单个查询中解决。
提出了类似的问题,但似乎还没有解决: https ://stackoverflow.com/questions/9052196/mysql-error-1054-unknown-column-on-clause
它与范围或类似的东西有关吗?