電子書籍の厳選無料作品が豊富!

テーブルtableである列aのデータが1,2,3,4,5,6,7,8,9と
入っていたとします。
このテーブルを1,2,5,3,4,6,7,8,9という順番で
SELECTしたい場合はどのようにすればよろしいでしょうか?

select a from table where a IN (1,2)
union
select a from table where a = 5
union
select a from table where a NOT IN (1,2,5)

としてみたのですが1,2,3,4,5,6,7,8,9と表示されてしまいます。

宜しくお願いいたします。

A 回答 (1件)

ちょっと裏技的ですが、別なキーを付けてソートすれば良いでしょう。



select * from (
select '1' as key, a from table where a IN (1,2)
union
select '2' as key, a from table where a = 5
union
select '3' as key, a from table where a NOT IN (1,2,5)
) order by key, a

というイメージで出来ると思います。
(手元にSQLServerがないので、細かい文法が間違っていたらごめんなさい。)
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
なるほど、別のキーを使うわけですね
ありがとうございました。

お礼日時:2006/05/16 00:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!