2011-01-30 82 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

相关问题