- - PR -
データの取得方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-12 10:27
以下のデータを取得するSQLをご教授願います。
※Oracle9 ■テーブル T1 --------------------------------------------------- SeqNo | Code | Value1 | Value2 | ・・・・・ --------------------------------------------------- 1 | 1 | aaa | o | ・・・・・ 2 | 1 | aaa | p | ・・・・・ 3 | 2 | bbb | q | ・・・・・ 4 | 2 | ggg | r | ・・・・・ 5 | 3 | ccc | s | ・・・・・ 6 | 3 | ccc | t | ・・・・・ --------------------------------------------------- ※SeqNo、Code、Value1、Value2はキー 取得したい結果 --------------------------------------------------- Code | Value1 | --------------------------------------------------- 1 | aaa | 2 | bbb | 3 | ccc | --------------------------------------------------- あるいは --------------------------------------------------- Code | Value1 | --------------------------------------------------- 1 | aaa | 2 | ggg | 3 | ccc | --------------------------------------------------- | ||||
|
投稿日時: 2005-01-12 10:35
何を求めているのかはわからないのですが、
これでは? | ||||
|
投稿日時: 2005-01-12 10:54
にしざきありがとうございます。
MIN(),MAX()の使用ははレスポンス的にどうか分かりませんが 他に上記関数を使用しない方法はあるのでしょうか? 申し訳ありませんがお願い致します。 | ||||
|
投稿日時: 2005-01-13 11:20
私もにしざきさんの回答が解りやすいと思うのですが、
■テーブル T1 --------------------------------------------------- SeqNo | Code | Value1 | Value2 | ・・・・・ --------------------------------------------------- 1 | 1 | aaa | o | ・・・・・ 2 | 1 | aaa | p | ・・・・・ 3 | 2 | bbb | q | ・・・・・ 4 | 2 | ggg | r | ・・・・・ 5 | 3 | ccc | s | ・・・・・ 6 | 3 | ccc | t | ・・・・・ あくまで上記のようにCodeに対してValue1が"2つずつある(3つ以上ない)" のが前提であれば、 select Code, DISTINCT Value1 from T1 group by Code order by Value1; (select Code, DISTINCT Value1 from T1 group by Code order by Value1 DESC;) ではどうでしょう? //編集 あ、Codeに対してValue1が"2つずつある(3つ以上ない)"のであれば group byはなくてもいいですね。 select DISTINCT Code, Value1 from T1; (select DISTINCT Code, Value1 from T1 order by Value1 DESC;) [ メッセージ編集済み 編集者: pr0 編集日時 2005-01-13 11:33 ] |
1