2012-03-21 47 views
0

指:http://pastebin.com/raHbAvRN與MySQL的別名問題

我的表:

Users:(id, lat, lon, ...) 
Favorites:(id, userId, prefId) 

「我」的別名的作品,但「最愛」的別名不,可以請你幫助我瞭解爲什麼? 我需要根據當前的「users.id」是否位於prefid列表中,用true/false填充輸出中的「favorite」列。

謝謝

+0

您還沒有定義任何地方'別名fav'。 – hjpotter92 2012-03-21 20:43:34

回答

0

嘗試這樣的:

select count(*), 
    users.id, 
    ...distance(my.lat, my.lon, users.lat, users.lon) as distance, 
    case when users.id in (
     select favorites.prefId 
     from favorites 
     where favorites.userId = ?) then true else false end as favorite 
from users, 
    (
     select users.lat, 
      users.lon 
     from users 
     where users.id = ? 
     ) as my 
where... 
+0

謝謝你。有用 – Bagbyte 2012-03-21 22:54:01