- ベストアンサー
簡単なSQLに関して
初歩的なSQLの質問で申し訳ありません。 教えて下さい。 下記のような、ある2つの異なる名前の同項目のテーブルが存在します。 《テーブル》 Aテーブル 社員番号、日付、内容 Bテーブル 社員番号、日付、内容 ※ 内容に関しては、AテーブルとBテーブルで全く違います。 これらの2つのテーブルをマージさせ、社員番号毎の内容毎、日付順に したいと考えています。 どのようなSQLを書けば良いでしょうか?? 尚、テーブルに関しては、諸事情であえて2つに分けてあります。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
3つある場合は、 SELECT * FROM ( SELECT 社員番号, 日付, 内容 FROM Aテーブル UNION SELECT 社員番号, 日付, 内容 FROM Bテーブル /*--------追加ここから--------*/ UNION SELECT 社員番号, 日付, 内容 FROM Cテーブル /*--------追加ここまで--------*/ ) ORDER BY 日付, 社員番号, 内容 ……という風にUNIONでつなげていけばOKです。
その他の回答 (1)
- Picosoft
- ベストアンサー率70% (274/391)
> 社員番号毎の内容毎、日付順 の意味がよくわかりませんが、 項目名が同じならUNIONするだけでいいと思います。 SELECT * FROM ( SELECT 社員番号, 日付, 内容 FROM Aテーブル UNION SELECT 社員番号, 日付, 内容 FROM Bテーブル ) ORDER BY 日付, 社員番号, 内容 ……とか?
お礼
Picosoft様、ご回答ありがとうございます。 イメージ通りの値になりました! ありがとうございました。 ちなみに、同じテーブルが3つ存在した場合はどのように記述するのでしょうか、、、 追加の質問で申し訳ありません。 教えて下さい。
お礼
Picosoft様、本当にありがとうございました!!