我需要根据用户在文本字段中输入的关键字来构建查询,该查询将执行以下操作:获取关键字并在表格中搜索,之后汽车具有所有给定的关键字。 我的表看起来像这样:
field_id | car_id | keyword |
----------------------------
1 | 5 | 1989 |
-----------------------------
2 | 8 | old |
-----------------------------
3 | 8 | ford |
-----------------------------
4 | 2 | audi |
-----------------------------
5 | 5 | red |
-----------------------------
6 | 8 | cheap |
-----------------------------
如果用户搜索“old”,“ford”和“cheap”,则应返回car_id 8,因为它包含所有关键字。你怎么把它拉下来?
答案 0 :(得分:1)
假设您知道输入的关键词数量,并希望所有关键词都匹配 此外,它假定关键字car_id是唯一的。 (car_Id 8不能便宜两次)
Select car_ID from myTable
Where keyword in ('old','ford','cheap')
group by car_ID
having count(*) = 3