性格悪い人が優勝

初歩的なSQLの質問で申し訳ありません。

教えて下さい。

下記のような、ある2つの異なる名前の同項目のテーブルが存在します。

《テーブル》

Aテーブル 

 社員番号、日付、内容

Bテーブル

 社員番号、日付、内容

 ※ 内容に関しては、AテーブルとBテーブルで全く違います。

これらの2つのテーブルをマージさせ、社員番号毎の内容毎、日付順に
したいと考えています。

どのようなSQLを書けば良いでしょうか??

尚、テーブルに関しては、諸事情であえて2つに分けてあります。

よろしくお願いします。

A 回答 (2件)

3つある場合は、



SELECT *
FROM (
SELECT 社員番号, 日付, 内容
FROM Aテーブル
UNION
SELECT 社員番号, 日付, 内容
FROM Bテーブル
/*--------追加ここから--------*/
UNION
SELECT 社員番号, 日付, 内容
FROM Cテーブル
/*--------追加ここまで--------*/
)
ORDER BY 日付, 社員番号, 内容

……という風にUNIONでつなげていけばOKです。
    • good
    • 0
この回答へのお礼

Picosoft様、本当にありがとうございました!!

お礼日時:2013/05/23 16:29

> 社員番号毎の内容毎、日付順


の意味がよくわかりませんが、
項目名が同じならUNIONするだけでいいと思います。


SELECT *
FROM (
SELECT 社員番号, 日付, 内容
FROM Aテーブル
UNION
SELECT 社員番号, 日付, 内容
FROM Bテーブル
)
ORDER BY 日付, 社員番号, 内容

……とか?
    • good
    • 0
この回答へのお礼

Picosoft様、ご回答ありがとうございます。

イメージ通りの値になりました! ありがとうございました。

ちなみに、同じテーブルが3つ存在した場合はどのように記述するのでしょうか、、、

追加の質問で申し訳ありません。

教えて下さい。

お礼日時:2013/05/23 14:52

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

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