次のような 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 を実行したくありません...
簡単な解決策があるに違いないと確信しています。
ありがとう