• ベストアンサー

簡単なSQLに関して

初歩的なSQLの質問で申し訳ありません。 教えて下さい。 下記のような、ある2つの異なる名前の同項目のテーブルが存在します。 《テーブル》 Aテーブル   社員番号、日付、内容 Bテーブル  社員番号、日付、内容  ※ 内容に関しては、AテーブルとBテーブルで全く違います。 これらの2つのテーブルをマージさせ、社員番号毎の内容毎、日付順に したいと考えています。 どのようなSQLを書けば良いでしょうか?? 尚、テーブルに関しては、諸事情であえて2つに分けてあります。 よろしくお願いします。

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

3つある場合は、 SELECT * FROM ( SELECT 社員番号, 日付, 内容 FROM Aテーブル UNION SELECT 社員番号, 日付, 内容 FROM Bテーブル /*--------追加ここから--------*/ UNION SELECT 社員番号, 日付, 内容 FROM Cテーブル /*--------追加ここまで--------*/ ) ORDER BY 日付, 社員番号, 内容 ……という風にUNIONでつなげていけばOKです。

asamix_000
質問者

お礼

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

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

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

> 社員番号毎の内容毎、日付順 の意味がよくわかりませんが、 項目名が同じならUNIONするだけでいいと思います。 SELECT * FROM ( SELECT 社員番号, 日付, 内容 FROM Aテーブル UNION SELECT 社員番号, 日付, 内容 FROM Bテーブル ) ORDER BY 日付, 社員番号, 内容 ……とか?

asamix_000
質問者

お礼

Picosoft様、ご回答ありがとうございます。 イメージ通りの値になりました! ありがとうございました。 ちなみに、同じテーブルが3つ存在した場合はどのように記述するのでしょうか、、、 追加の質問で申し訳ありません。 教えて下さい。

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

専門家に質問してみよう