• ベストアンサー

問い合わせ結果のソートについて

問い合わせ結果のソート順を任意で指定することは可能でしょうか?ご教示ください。 たとえば、LOCATIONとフィールドの値に下記の値があったとして、 'NY' 'TKY' 'LDN' ORDER BY LOCATION でソートすると 'LDN' 'NY' 'TKY' となると思います。これを 'NY' 'TKY' 'LDN' といった具合に任意の順番で問い合わせ結果を並べることは可能でしょうか? よろしくお願いいたします。

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

  • ベストアンサー
回答No.3

もし、NY、TKY、LDNなどの種類の数がきまっているなら SELECT DECODE (LOCATION, 'NY','1', 'TKY','2','LDN','3') "LOCATION_ORDER" FROM TABLE ORDER BY LOCATION_ORDER という形でSQLが発行できます。 が、LOCATIONの数が不定の場合、 取得後ソートするしかないと思います。

n-nen
質問者

お礼

ありがとうございます。 今はLOCATIONの数は定数ですが、今後の変更も考えてコードテーブルで管理することにしました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • GoF
  • ベストアンサー率37% (34/91)
回答No.2

フィールドの内容がリスト化されていて将来にわたり普遍ならば ORDER BY DECODE( ~ ) / CASE ~ ORDER BY 自作関数( ~ ) するか、メンテナンスが入るような情報なら 所在地? マスタを作って ソート情報を載せるか という感じではいかがですか?

n-nen
質問者

お礼

ご回答ありがとうございました。 今後ともよろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • Ryokucha
  • ベストアンサー率25% (115/450)
回答No.1

無理だと思います。 ソートはあくまでも文字列の比較から結果を出しますので概念から外れています。 必要ならば、出力順のフィールドを作ってソートするしかないと思います。

n-nen
質問者

お礼

ご回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A