我需要有关在多列中创建全文本搜索的帮助。
最后,查询应返回“ biz_name”,首先与“ business”表匹配,然后与“ tags”表匹配,然后从“ Business_tags”表中选择biz_id,然后将所有结果与“ Business Table”的优先级结果放在一起。
简单来说,当某人搜索银行时,他们应该能够获得带有“银行”的公司名称以及标有“银行”的公司。
请考虑以下三个表:
业务表和标签表
|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 |
我不能使用并集,因为我有不同的列数。谢谢您的帮助。
您可以将三个表连接在一起,也可以在名称上进行文本搜索。
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')
那会做你想要的吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句