- ベストアンサー
access2007同一構造のテーブルを結合
複数の同一構造のテーブルを結合したいのですが、、、 下記サイトを見てユニオンクエリーとやらを使うまでは理解しましたが、 http://www.serpress.co.jp/access/no005.html 細部が理解できません。SQL文が理解できません。。。 ●テーブル1=saitama、テーブル2=chiba、テーブル3=tokyo、テーブル4=kanagawa ●フィールド内容=会社名/郵便番号/住所/電話番号/FAX/業種 と言う内容ならば、どの様なSQL文?を書けば良いのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
【要旨】 以下のSQLで、目的に適うかと思います: Select * From saitama Union Select * From chiba Union Select * From tokyo Union Select * From kanagawa; 【詳細】 > 複数の同一構造のテーブルを結合したいのですが、、、 詳細は以前のQ&Aを参考下さい: http://okwave.jp/qa/q4835740.html 構造が完全に同一なら、以下のSQL文でOkです: (「テーブル1=saitama」の意味が、「1つ目のテーブルの名前がsaitama」だとして) Select saitama.* From saitama Union Select chiba.* From chiba Union Select tokyo.* From tokyo Union Select kanagawa.* From kanagawa; もしくは、上記の「saitama.*」の「saitama.」(ピリオドまで)は省略可能なので、 Select * From saitama Union Select * From chiba Union Select * From tokyo Union Select * From kanagawa; と簡略化することもできます。 また、元となったテーブルを別のフィールドに表示させたい場合は以下となります: (「""」で括った「"saitama"」等の部分は、「"埼玉"」等としてもOk) Select *, "saitama" As 由来 From saitama Union Select *, "chiba" As 由来 From chiba Union Select *, "tokyo" As 由来 From tokyo Union Select *, "kanagawa" As 由来 From kanagawa; なお、必要なフィールドだけを取り出す場合は、 Select 会社名, 郵便番号, 住所, 電話番号, FAX, 業種 From saitama Union Select 会社名, 郵便番号, 住所, 電話番号, FAX, 業種 From chiba Union Select 会社名, 郵便番号, 住所, 電話番号, FAX, 業種 From tokyo Union Select 会社名, 郵便番号, 住所, 電話番号, FAX, 業種 From kanagawa; と、必要なフィールド名を「,」(カンマ)区切りで指定してやればOkです。
お礼
ご丁寧な解説いただき、勉強になりました。 ありがとうございました。