- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つの情報を1つのSQLで取得する方法について)
SQLで2つの情報を1つのSQLで取得する方法について
このQ&Aのポイント
- SQL文で、TESTテーブルからA、B、Cの3項目のデータを取得する方法がわかりません。
- 要件は、項目AおよびBに関しては、WHERE句の条件を満たす全てのレコードを取得し、項目Cにおいては最大値のみ取得することです。
- 現時点では、個別にSQLを作成して実行すると正常に結果を取得できますが、2つの結果を1つのSQLで取得する方法はわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いまいち条件がきちんと理解できていないのですが。 A・Bは全レコード、Cは最大値ということは、取得した全レコードはCの値は同一になるということでいいですか? それなら、 SELECT A, B, MAX(C) OVER() C FROM TEST WHERE Z = 'xxxxx' AND Y = 'x' AND X = 'Y'; でいいと思います。
その他の回答 (1)
- cotae_bb
- ベストアンサー率53% (51/95)
回答No.1
SELECT * FROM ( SELECT A,B,C FROM TEST WHERE Z = 'xxxxx' AND Y = 'x' AND X = 'Y' ORDER BY C DESC ) WHERE ROWNUM = 1 Oracleは使ったことがないのですが、 Cでソートをした物のなかからROWNUMが1の物を取得すれば良いかと思います。