回答編集履歴

2

コード追記

2022/09/25 11:19

投稿

hatena19
hatena19

スコア33775

test CHANGED
@@ -17,3 +17,17 @@
17
17
  HAVING
18
18
  Count(projects.id) = 2;
19
19
  ```
20
+ あるいは、EXISTS を使って、
21
+ ```sql
22
+ SELECT projects.id, projects.name
23
+ FROM projects
24
+ WHERE
25
+ EXISTS (
26
+ SELECT * FROM projects_skills
27
+ WHERE projects.id = projects_skills.project_id and projects_skills.skill_id = 2
28
+ ) AND
29
+ EXISTS (
30
+ SELECT * FROM projects_skills
31
+ WHERE projects.id = projects_skills.project_id and projects_skills.skill_id = 3
32
+ );
33
+ ```

1

コード修正

2022/09/25 11:08

投稿

hatena19
hatena19

スコア33775

test CHANGED
@@ -5,14 +5,10 @@
5
5
  ```sql
6
6
  SELECT
7
7
  projects.id,
8
- projects.name,
8
+ projects.name
9
- Count(projects.id) AS idのカウント
10
9
  FROM
11
- skills
12
- RIGHT JOIN (
13
- projects RIGHT JOIN projects_skills
10
+ projects RIGHT JOIN projects_skills
14
- ON projects.id = projects_skills.project_id
11
+ ON projects.id = projects_skills.project_id
15
- ) ON skills.id = projects_skills.skill_id
16
12
  WHERE
17
13
  projects_skills.skill_id In (2, 3)
18
14
  GROUP BY