- ベストアンサー
最大値を含むレコードの抽出
あるテーブルから、最大値を持つレコードのキーと最大値だけでなく、そのレコードの値を出したいと思います。 最大値をもつレコードを抽出して、元のレコードと結合するしか方法はないのかなと思い、類似した質問があるような気もするのですが、条件が異なるとうまく行かないため、自分なりに考えてみました。 データベースはDB2です。 SELECT a.倉庫,a.品目,a.単価 FROM 在庫マスタ as a where (a.品目,a.単価) in (select b.品目, max(b.単価) from 在庫マスタ as b group by b.品目) つまり、副問合せするときの結合キーが複数あるとSQLがエラーになってしまうようなのです。 結合キーが2つ以上ある時、このようなパターンの対処方法は無いでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.4
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.2
- nyaa519323116
- ベストアンサー率51% (41/79)
回答No.1
お礼
有難うございました。 このようなシンプルな方法で実行できるのですね。 maxを求めるのに、GROUP BYを書かなくてもよい、というのが良く判りませんが、とにかくシンプルで早いですね。