【projects】
id | name |
---|---|
1 | ほげ |
2 | ふが |
【skills】
id | name |
---|---|
1 | スキル1 |
2 | スキル2 |
3 | スキル3 |
【projects_skills】
id | project_id | skill_id |
---|---|---|
1 | 1 | 1 |
2 | 2 | 2 |
3 | 2 | 3 |
projects
の中でスキル2
とスキル3
を持っているレコードを探したいです。
答えはprojects
のid2になりますが、これをSQL一文で実現しようと思ったとき、
select * from projects left outer join project_skills on projects.id = project_skills.project_id where project_skills.skill_id = 2 and project_skills.skill_id = 3
で実現すると思ったのですが、結果は[]
となります。
in
を使おうと
select * from projects left outer join project_skills on projects.id = project_skills.project_id where project_skills.skill_id in (2 and 3)
としてもinは強制的にor
となるようです。
SQLに知見がある方、どのように解決したらよろしいでしょうか?
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/09/25 12:28