我有那两个表:
client:
id (int) #PK
name (varchar)
client_category:
id (int) #PK
client_id (int)
category (int)
假设我有这些数据:
client: {(1, "JP"), (2, "Simon")}
client_category: {(1, 1, 1), (2, 1, 2), (3, 1, 3), (4,2,2)}
tl;dr client #1 有类别 1、2、3 而client #2 只有类别 2
我正在尝试构建一个允许我搜索多个类别的查询。例如,我想搜索所有至少类别 1 和 2 的客户(将返回客户 #1)。我怎样才能做到这一点?
谢谢!
select client.id, client.name
from client
inner join client_category cat1 on client.id = cat1.client_id and cat1.category = 1
inner join client_category cat2 on client.id = cat2.client_id and cat2.category = 2
我是一名优秀的程序员,十分优秀!