2011-01-30 278 views
0

試圖做到這一點...我有一列type_style可能的值是2 Story,Beach HouseContemporary,2 Story我試着使用type_style作爲搜索查詢,但對於搜索值將2 StoryBeach HouseContemporary。每行可以是任何type_style的組合。我最初的想法是做MySQL - 可能一起使用LIKE和IN ...或IN與FULLTEXT一起使用?

WHERE `type_style` LIKE '%contemporary%' 

這將正常工作,如果用戶只能選擇一種風格,客戶希望有用戶能夠選擇一個以上的風格,所以我怎麼會去這樣做?這個數據庫每晚都從州的MLS進行更新,所以除了分配一個FULLTEXT索引或者我不能改變type_style列的設置方式外,還有什麼想法?任何將IN語句和LIKE風格的比較結合起來的方法? Im相當肯定我可以做類似

WHERE 
MATCH (`type_style`) AGAINST ('*2 story*' IN BOOLEAN MODE) 
OR 
MATCH(`type_style`) AGAINST ('*contemporary*' IN BOOLEAN MODE) 

但這會站在是一個非常大的查詢,因爲有大約20種風格....任何其他方式做到這一點????

+1

它並不完全意義的,我說,你需要在`LIKE`操作第一個地方。看起來好像你正在使用type_style作爲一個獨立的可能性類。如果你能夠改變平等,那麼你所有的問題都會消失,因爲你可以使用適當的「IN」查詢。 – 2011-01-30 22:47:59

回答

0

有表type_styles

  1. 2層
  2. 當代
  3. 海濱別墅

第三個表連接:

record_isstyle_id

搜索的第三個表,所以你可以有多個答案

如果合併文本「2層,當代」當需要使用CONCAT_GROUP