我想這是一件非常簡單的事情,但我找不到解決的辦法。這是我的問題;未知的列錯誤
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'列未知。我不想在SELECT MAX(A.id) from A
的if子句中替換'X',因爲它會顯着減慢查詢速度,因爲我認爲它在B.y
之間的每個值比較都會查詢SELECT MAX(A.id) from A
。如果這種方法是不可能實現的,那麼我不得不調用兩個不同的查詢,先獲得最大標量值,然後將其放入上面的查詢中。我想知道它是否可以在單個查詢中解決。
類似的問題被問,但它似乎還沒有到解決: https://stackoverflow.com/questions/9052196/mysql-error-1054-unknown-column-on-clause
是否與作用域或類似的東西有關?
請詳細說明一下(最好是在你的問題中)你想做什麼。這可能有助於找到解決問題的適當解決方案。 – 2013-02-16 13:21:53