次のようなクエリがあります。
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 は単なるプレースホルダーです。