回答編集履歴
1
追記
answer
CHANGED
@@ -1,10 +1,23 @@
|
|
1
1
|
一つの料理に対して同じ素材が重複してない前提があるなら(一意性制約とかで)、次のように in で条件の素材を羅列して、having で条件の数を指定する、とかでできないでしょうか。
|
2
2
|
|
3
|
-
```
|
3
|
+
```sql
|
4
4
|
select A.id, A.cook from A
|
5
5
|
inner join C on A.id = C.aid
|
6
6
|
inner join B on B.id = C.bid
|
7
|
-
where B.
|
7
|
+
where B.id in (1, 3)
|
8
8
|
group by A.id, A.cook
|
9
9
|
having count(*) = 2
|
10
|
-
```
|
10
|
+
```
|
11
|
+
|
12
|
+
distinct で重複を除外してもいいかもしれません。
|
13
|
+
|
14
|
+
```sql
|
15
|
+
select A.id, A.cook
|
16
|
+
from A
|
17
|
+
inner join C on A.id = C.aid
|
18
|
+
inner join B on B.id = C.bid
|
19
|
+
where B.id in (1, 3)
|
20
|
+
group by A.id, A.cook
|
21
|
+
having count(distinct B.id) = 2;
|
22
|
+
```
|
23
|
+
|