MySQL - 可以一起使用LIKE和IN ......或者使用FULLTEXT吗?

时间:2011-01-30 21:57:04

标签: mysql

尝试执行此操作...我有一列type_style可能的值为2 Story,Beach HouseContemporary,2 Story我尝试使用type_style作为搜索查询,但值搜索范围为2 StoryBeach HouseContemporary。每行可以是任何type_style的组合。我最初的想法是做

WHERE `type_style` LIKE '%contemporary%'

如果用户只能选择一种样式,客户希望让用户能够选择多种样式,哪种方法可以正常工作,那么我该如何做呢?数据库每晚都会从状态MLS更新,所以除了分配FULLTEXT索引或其他东西我不能改变type_style列的设置方式,任何想法?有什么方法可以组合IN语句和LIKE风格的比较?我很确定我能做点像

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

但是这将是一个非常大的查询,因为有大约20种风格类型....任何其他方式来做这个????

1 个答案:

答案 0 :(得分:0)

拥有type_styles的表格:

  1. 2个故事
  2. 当代
  3. 海滨别墅
  4. 第三表连接:

    record_isstyle_id

    在第三张表上搜索,这样您就可以有多个答案

    如果需要使用CONCAT_GROUP

    组合文字“2故事,当代”