前提・実現したいこと
以下のようなユーザー情報のテーブルとユーザーに資格情報のテーブルで構成されているDBから資格情報をOR条件やAND条件で検索してユーザーを抽出を行いたいです。
ユーザーID | ユーザー名 | 年齢 |
---|---|---|
0001 | ユーザー1 | 28 |
0002 | ユーザー2 | 26 |
0003 | ユーザー3 | 24 |
0004 | ユーザー4 | 22 |
ユーザーID | 資格名 | 取得年月日 |
---|---|---|
0001 | 資格A | 20210101 |
0001 | 資格B | 20210101 |
0001 | 資格C | 20210101 |
0001 | 資格D | 20210101 |
0002 | 資格A | 20210101 |
0002 | 資格B | 20210101 |
0003 | 資格B | 20210101 |
0003 | 資格C | 20210101 |
0004 | 資格C | 20210101 |
0004 | 資格D | 20210101 |
資格Aまたは資格Bのどちらかを持っているユーザーを抽出
ユーザーID | ユーザー名 | 年齢 |
---|---|---|
0001 | ユーザー1 | 28 |
0002 | ユーザー2 | 26 |
0003 | ユーザー3 | 24 |
資格Aと資格Bの両方を持っているユーザーを抽出
ユーザーID | ユーザー名 | 年齢 |
---|---|---|
0001 | ユーザー1 | 28 |
0002 | ユーザー2 | 26 |
上記のようなことをSQLで行いたいと思っているのですが可能でしょうか?
試したこと
OR条件についてはINやANYを使えば可能なのかと思ったのですがAND条件の方がどうにも思いつきません。
最悪SQLではなくプログラムのロジックで頑張って抽出することを考えているのですがSQLのみで実現可能であればご教授お願い致します。
補足情報(FW/ツールのバージョンなど)
DBはOracle11gです。
回答1件
あなたの回答
tips
プレビュー