0

我需要从用户在文本字段中输入的关键字构建一个查询,它将执行以下操作:获取关键字并在表中搜索,之后汽车具有所有给定的关键字。我的表如下所示:

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,因为它包含所有关键字。你将如何解决这个问题?

4

1 回答 1

1

假设您知道输入的关键字的数量,并且您希望对所有这些关键字进行匹配。此外,它假设关键字 car_id 是唯一的。(car_Id 8 不能便宜两次)

Select car_ID from myTable
Where keyword in ('old','ford','cheap')
group by car_ID
having count(*) = 3 
于 2012-05-08T18:18:28.850 回答