プロが教える店舗&オフィスのセキュリティ対策術

Oracle10gのSQL分についての質問です。

[A]テーブルがあります。
フィールドは、
[CODE](key) [DATE1] [DATE2] [DATE3] と、あります。内容は、
A 2006/07/01 2006/07/04 2006/07/07
B 2006/07/03 2006/07/08 2006/07/05
C 2006/07/02 2006/07/06 2006/07/09
と、あります。

結果を
A 2006/07/01
C 2006/07/02
B 2006/07/03
A 2006/07/04
B 2006/07/05
C 2006/07/06
A 2006/07/07
B 2006/07/08
C 2006/07/09
と、したいのです。つまり、3つのフィールドの日付順にしたいのです。
出来るのでしょうか? 宜しくお願い致します。

A 回答 (2件)

これで


select [CODE](key) [DATE1]
from [A]
union
select [CODE](key) [DATE2]
from [A]
union
select [CODE](key) [DATE3]
from [A]
order by 2

この回答への補足

ありがとうございます。UNIONって初めて
使いました。
ところで、何故 order by 2 なのですか?
2つ目のフィールド(つまり日付)の事と
考えて良いのでしょうか?

何度も申し訳ございませんが
宜しくお願い致します。

補足日時:2006/07/04 10:35
    • good
    • 0

またまた登場です!



>ところで、何故 order by 2 なのですか?
>2つ目のフィールド(つまり日付)の事と
>考えて良いのでしょうか?
その通りです。
2番目のカラムでソートしたいですけど
カラム名が異なりますよね?
なので、2番目と指定してあげます。
ちなみに、普通のSELECT文でも使用できますが、処理が遅くなるので、
この場合はきちんとカラム名を指定してあげてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
今後とも宜しくお願い致します。

お礼日時:2006/07/04 19:02

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

関連するカテゴリからQ&Aを探す