-PR-
解決済み

SQLコマンドのorder by句

  • すぐに回答を!
  • 質問No.52071
  • 閲覧数1187
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 78% (11/14)

受注金額の大きい順にリストするために
select 受注番号,受注金額 from 受注テーブル order by 受注金額 desc;
を発行すると、受注金額(数値型)が未定義(null)のものが上位になってしまします。
受注金額がnullのものを零より小さい扱いでリストする方法を教えて下さい。
尚、・・・ where 受注金額 is not null は不可です。
宜しくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル7

ベストアンサー率 78% (11/14)

受注金額がnullのものを-1としても良いなら、

select 受注番号,NVL(受注金額,-1) as AAA from 受注テーブル order by AAA desc;
でOKかと思います。
はずしてたらごめんなさい。
お礼コメント
moderno_parco

お礼率 78% (11/14)

おかげさまで欲しいデータの取得ができました。
SQLはパズルですね。
ありがとうございました。
投稿日時 - 2001-03-15 15:24:54
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 41% (324/772)

データベースサーバに何を使っているのかが
わからないので、なんともいえないのですが、

select 受注番号,受注金額 from 受注テーブル
WHERE 受注金額 is not null
order by 受注金額 desc
union
select 受注番号,受注金額 from 受注テーブル
WHERE 受注金額 is null

ではだめなのですか?
お礼コメント
moderno_parco

お礼率 78% (11/14)

oracle8i、SqlPlus、WindowsNTです。
エラー行: 4: エラーが発生しました。
ORA-00933: SQLコマンドが正しく終了されていません。
といわれました。
ご指導ありがとうございました。
投稿日時 - 2001-03-15 15:31:15


  • 回答No.2
レベル14

ベストアンサー率 30% (2593/8599)

単純な方法はないように思います。

泥臭いですが、ヌルとヌル以外を別処理してUNIONでつないでは?
SELECT文が2つになって大変ですけどね。

あとは属性を追加してヌルをマイナスに置き換えとか?
お礼コメント
moderno_parco

お礼率 78% (11/14)

ヌルをマイナスに置き換きかえる関数を使って試してみます。
ありがとうございました。
投稿日時 - 2001-03-15 15:27:27
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ