Access2019 VBAでオラクルDB(11g?)に接続しています。
取得したいデータのSQL文がわからず質問させてください。
・テーブルAにカラム「ID」、「区分」、「日付」があります。
・カラム「区分」は「開始」、「終了」があります。
テーブルA
ID 区分 日付
1 開始 2020/01/01
1 終了 2020/02/01
1 開始 2020/03/01
1 終了 2020/04/01
2 開始 2020/01/01
2 終了 2020/03/01
2 開始 2020/04/01
結果
ID 開始日 終了日
1 2020/01/01 2020/02/01
1 2020/03/01 2020/04/01
2 2020/01/01 2020/03/01
2 2020/04/01
※↑オラクルDBを参照する環境しかないのでSQL文は控させてください。
と「ID」「開始日」に対し直近の「終了日」を取得するSQL文はどうなるのでしょうか?
どうググるかわからず質問することにしました。。
↓なんとなく考えたSQL文です。最適かはわからなですが。。
SELECT ID, 日付 開始日, (SELECT MIN(日付) FROM テーブルA WHERE 区分 = '終了' AND A.日付 =< 日付 AND A.ID = ID ) 終了日 FROM テーブルA A WHERE 区分 = '開始'
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー