の別名に参加する:MySQLは、私はそうのようなクエリを持って計算されたコラム
SELECT User.id, 10*10 as distance
FROM USERS
INNER JOIN
(
SELECT Location.user_id,
min(10 * 10) as mindistance
FROM Location
GROUP BY Location.user_id
) L ON Users.id = Location.user_id AND distance = L.mindistance
私はそのままそれを残す場合は、私は入れません:
Unknown column 'distance' in 'on clause'
をしかし、私は置けばだけではなく、距離のUser.distanceは、私が取得:
MySQL syntax error near....
私は計算フィールドにこのようにエイリアスを使用することができませんか?計算がはるかに複雑であるため、10 * 10は単純なプレースホルダに過ぎません。レコードを制限するために、どのインデックスが使用するために使用されている - - あなたは最終結果をフィルタリングする必要があるので、導出された値オプティマイザで使用することはできませんあなたが句は、クエリで得られた値を使用することはできません
[MySQLクエリのWHERE句で列エイリアスを使用するとエラーが発生する](http://stackoverflow.com/questions/942571/using-column-alias-in-where-clause-of-mysql-query-produces -an-error) – Joni