前提・実現したいこと
MyBatisを使いデータの取得をしたいのですが、表題のとおり
縦持ちになっているテーブルを特定の値でフィルタリングし、
フィルタされた値を含む同じ予約IDの全データを取得したいです。
具体的には以下のようなことです。
下記のような作業テーブルがあったとして
予約ID | 項目ID | 項目名 | 項目値 |
---|---|---|---|
1 | 10 | 承認者 | 山田太郎 |
1 | 20 | 作業内容 | 作業A |
1 | 30 | 作業完了日 | 2020/08/05 |
2 | 10 | 承認者 | 佐藤花子 |
2 | 20 | 作業内容 | 作業A |
3 | 10 | 承認者 | 山田太郎 |
3 | 20 | 作業内容 | 作業B |
3 | 30 | 作業完了日 | 2020/07/30 |
画面から承認者が「山田太郎」で選択されたときに
予約ID | 項目ID | 項目名 | 項目値 |
---|---|---|---|
1 | 10 | 承認者 | 山田太郎 |
1 | 20 | 作業内容 | 作業A |
1 | 30 | 作業完了日 | 2020/08/05 |
3 | 10 | 承認者 | 山田太郎 |
3 | 20 | 作業内容 | 作業B |
3 | 30 | 作業完了日 | 2020/07/30 |
という結果を得たいです。
よろしくお願いいたします。
どこでつまずいたか
WHERE句に何をどう指定すればよいか。
単純に
WHERE 項目ID = 10 AND 項目値 = '山田太郎'
とすると
予約ID | 項目ID | 項目名 | 項目値 |
---|---|---|---|
1 | 10 | 承認者 | 山田太郎 |
3 | 10 | 承認者 | 山田太郎 |
しか取れないですよね。
同じ予約IDの他のデータも全て取得したいです。
試したこと
SELECT 予約ID, 項目ID, 項目名, 項目値 FROM 作業テーブル WHERE ここからがわからない
利用環境
Mybatis 3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/08/14 11:22