こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Where条件ごとにレコードセットが並んでほしい

オラクル10を使っています。
以下のようにデータを抽出した場合、seito_cd条件ごとにレコードセットが並んでほしいのですが、
このままでは、データベースの登録順に抽出されます。
何か方法はあるのでしょうか?

select seito_name from g_class where
seito_cd = '04'
or seito_cd = '01'
or seito_cd = '05'
or seito_cd = '10'
or seito_cd = '07'
or seito_cd = '09'

投稿日時 - 2007-04-14 16:32:46

QNo.2920652

すぐに回答ほしいです

質問者が選んだベストアンサー

select seito_name from g_class
where seito_cd IN ('04', '01', '05', '10', '07', '09')
order by DECODE(seito_cd, '04', 1, '01', 2, '05', 3
, '10', 4, '07', 5, '09', 6)

投稿日時 - 2007-04-14 20:03:15

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

order by をつければ並べ替えられます。
select seito_name from g_class where
seito_cd = '04'
or seito_cd = '01'
or seito_cd = '05'
or seito_cd = '10'
or seito_cd = '07'
or seito_cd = '09'
order by seito_cd
~~~~~~~~~~~~~~~~~~
で昇順に
order by seito_cd desc
~~~~~~~~~~~~~~~~~~~~~~~
で降順に
検索されます。

投稿日時 - 2007-04-14 19:35:34

あなたにオススメの質問