我需要有关在多列中创建全文搜索的帮助。
最后,查询应返回' biz_name',首先匹配' business'表然后 匹配'标签'表然后从' Business_tags'中选择biz_id然后将表格与“业务表”中的优先级结果放在一起。
简单易懂,当有人搜索银行时,他们应该能够获得拥有银行'在其中以及用“银行”标记的商家。
请考虑三个表:
商家信息表和标签表
|biz_id |biz_name | |tag_id |tag_name|
|----------------------| |----------------|
|001 |Mac burger | |101 |cafe |
|002 |Citi bank | |102 |burger |
|003 |Lou’s Cafe | |103 |drink |
|004 |Baltic pub | |104 |bank |
|005 |T2 Restaurant | |105 |loan |
Business_tags表
|biz_id |tag_id |
|---------------|
|001 |102 |
|002 |105 |
|002 |104 |
|003 |101 |
|003 |103 |
|004 |103 |
|005 |102 |
|005 |101 |
我无法使用工会,因为我的列数不同。 谢谢你的帮助。
答案 0 :(得分:1)
您可以将这三个表连接在一起,并对名称进行文本搜索。
SELECT business.biz_name
FROM business,business_tags,tags
WHERE business.biz_id = business_tags.biz_id
AND business_tags.tag_id = tags.tag_id
AND (business.biz_name LIKE '%bank%' OR tags.tag_name = 'bank')
这会做你想做的吗?