- - PR -
別テーブルの列でソート
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-10 14:13
ひでと申します。
Oracle9i使っています。宜しくお願い致します。 テーブルAとテーブルBがあり、構成は次のようになっています。 【テーブルA】 OBJ DATE_A ------------------------- りんご 2008/01/01 みかん 2008/01/03 【テーブルB】 OBJ DATE_B ------------------------- ばなな 2008/01/02 きうい 2008/01/04 これを、DATE_A、DATE_Bでソートをかけたいです。 【求める結果】 OBJ DATE ------------------------- りんご 2008/01/01 ばなな 2008/01/02 みかん 2008/01/03 きうい 2008/01/04 上記はSQLでどうやってかけばよろしいでしょうか? (まず、可能ですか?) 足りない情報は補足致しますのでご指摘ください。 宜しくお願い致します。 | ||||
|
投稿日時: 2008-09-10 14:44
編集:AS "DATE"追加 ちなみにDATEは予約語なのであまり使わない方が… [ メッセージ編集済み 編集者: ぱると 編集日時 2008-09-10 14:45 ] | ||||
|
投稿日時: 2008-09-10 14:54
UNIONでどうですか?
| ||||
|
投稿日時: 2008-09-10 15:00
確かにUNIONの方がいいですね…。
編集:余計な()を削除 [ メッセージ編集済み 編集者: ぱると 編集日時 2008-09-10 15:01 ] | ||||
|
投稿日時: 2008-09-10 15:14
複数のテーブルの結果をまとめる場合は、『UNION』句を使用すれば可能です。 『UNION』句はデータベースによっては、『ALL』句が使用出来ないものもあります。 (マイクロソフトのアクセス) ※『UNION』は集合演算と呼ばれるもので、他に『MINUS』(データベースによっては 『EXCEPT』)、『INTERSECT』があります。 ・『UNION』(和集合) 上下のSQLの結果を合わせたデータの抽出 ALL句を使用すると、上下のSQLで重複する行をそのまま抽出します。 ALL句を除外すると、上下のSQLで重複する行は除外されます。 ・『MINUS』・『EXCEPT』(差集合) 上下のSQLの差の抽出 上のSQLにあって下に無いものを抽出し、逆に下のSQLにあって上に無いものを 抽出する場合は、SQLを書き直すしかありません。 ・『INTERSECT』(積集合) 上下のSQLの結果に共に存在するデータの抽出 集合演算を使用する上での注意点は、『上のSQLと下のSQLで抽出するフィールドの 数が同じである事』のみです。 | ||||
|
投稿日時: 2008-09-10 15:32
皆様ありがとうございます。
例としてDATEを列名に使っちゃうのはまずかったですね。 すいません。 開発の参考にしたいと思います。 |
1