【发布时间】:2013-10-16 10:49:04
【问题描述】:
我有一个这样的 SQL 表 tbl_client_condition:
id_client | id_condition
1 | A
1 | B
1 | C
2 | A
2 | B
3 | A
3 | B
3 | C
3 | D
4 | C
5 | C
5 | D
我想获取所有具有 A、B 和 C 条件的客户端。所以在那个例子中,我想要客户端 1 和 3。
我不太清楚该怎么做,尤其是我想要的条件数量没有定义。这适用于 2 个条件 A 和 B,例如:
SELECT a.id_client
FROM (
SELECT *
FROM tbl_client_condition
WHERE id_condition = A
) AS a
INNER JOIN (
SELECT *
FROM tbl_client_condition
WHERE id_condition = B
) AS b ON a.id_client = b.id_client
但如果我想要 10 个 id_conditions 的记录,我不想做 10 个 INNER JOIN...
我相信一定有一个简单的解决方案。
谢谢
【问题讨论】:
-
您使用的是什么 DBMS? mysql、oracle、mssql?
-
我正在使用 MySQL,bvr 回答有效,谢谢!
标签: mysql sql inner-join