- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLのとり方を知りたいです。)
SQLで最新の配送日と到着日を取得する方法
このQ&Aのポイント
- 依頼No.にぶらさがる配送先が3か所あります。この中で一番新しい(=若い)日付の配送日と到着日を取得したいです。
- 配送日と到着日はワンセットと考えて、新しい日付の配送日が取得できれば、自動的に隣の到着日も取得できます。
- どのようにSQL文を書けば良いか分かりません。教えていただけませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
not exists を使って select 依頼no発送日,到着日 from table名 a where not exists(select * from table名 b where a.依頼No. = b.依頼No and a.発送日 > b.発送日); 分析関数が使えるなら select 依頼no,発送日,到着日 from (select 依頼no,発送日,到着日,row_number() over(partition by 依頼no order by 発送日) rnum from table名) where rnum = 1; とかでしょうか。
その他の回答 (1)
- kouta77
- ベストアンサー率20% (185/896)
回答No.1
select 発送日,到着日 from table名 a where 発送日 = (select max(発送日) from table名 b where a.依頼No. = b.依頼No)
質問者
補足
さっそく御回答頂きありがとうございます。 すいません、説明不足でした。 発送日,到着日はtable名 bのみにしかありませんでした・・・
補足
さっそく御回答頂きありがとうございます。 すいません、説明不足でした。 発送日,到着日はtable名 bのみにしかありませんでした・・・ not existsで書いてくださった文で、 最終行のand文だけがうまくいきません・・・すいません。