2010-10-14 89 views
1

我目前有3個表(鄰居,城市,州),我試圖列出給定的搜索項的前10名最佳匹配(如果不是實際匹配) 。我需要做的就是擁有它,所以如果有鄰居姓名匹配,請將其排名高於城市名稱匹配。令我困惑的是,如果它發現一個鄰里,我需要它來給我鄰居,城市和國家,但如果它是一個城市,只要給我這個城市和州。MySQL全文搜索跨多個表有差異排名

這就是我現在擁有的城市比賽。我怎樣才能將社區混合到這些結果中?

SELECT c.id_city, c.city_name, s.state_abbreviation, 
     MATCH(c.city_name) AGAINST ('term') AS score 
FROM `res_geo_cities` AS c, `res_geo_states` AS s 
WHERE MATCH(c.city_name) AGAINST ('term' IN BOOLEAN MODE) 
     AND s.id_state = c.id_state 
ORDER BY score DESC 
LIMIT 7 

回答