質問: フィールド数の多すぎる・フィールド数が一定でないテーブルのデータ結合の仕方? 私は、accessについてあまり詳しくないものなのですが、仕事上50近くあるデータを一つにまとめたいんです。 データは2つありまして、 1.それぞれのテーブルが微妙にフィールド数が異なる場合の結合 例)・aのテーブルのフィールド名 名前 クラス名 出身県 出身コード 血液型 性別 ・bのテーブルのフィールド名 名前 出身県 血液型 性別 ・cのテーブルのフィールド名 名前 クラス名 出身コード 血液型 ⇒このように微妙に異なる。しかもレコード数がかなり多いのです。これは、ユニオンクエリは使えないですよね?何かいい方法はないでしょうか? 2.テーブルの構造は同じなのですが、フィールド数が多くてユニオンクエリを使おうとすると、『フィールド数が多すぎる』とエラーメッセージがでてしまう。この場合の対処方法でいいのはないでしょうか? なにぶん、私はaccessをあまり使わないのでわかりにくい質問だと思いますが、どなたかすみませんが教えてください。お願いします。
回答: > これは、ユニオンクエリは使えないですよね? ユニオンクエリで、フィールドを「*」で省略することはできなくなりますが、 表示するフィールドを列挙する形であれば、対応可能です。 (但し各select文で、不足するフィールド分のダミー列の追加が必要) 【例】 select 名前, クラス名, 出身県, 出身コード, 血液型, 性別 from a union select 名前, "(不明)", 出身県, "(不明)", 血液型, 性別 from b union select 名前, クラス名, "(不明)", 出身コード, 血液型, "(不明)" from c; ※当該テーブルがデータを持たない時に「(不明)」と表示させる場合。 > 『フィールド数が多すぎる』とエラーメッセージがでてしまう。 とりあえず、45フィールドほどのテーブルを作成してテストした限りでは、 そのメッセージは表示されませんでした(汗) もしも、必ずしも常に全フィールドのデータが必要ではないなら、ひとつの 手段としては、上記のように必要なフィールドに限定してユニオンクエリを 作成する、という方法があるかと思います。 (一旦作業用のテーブルを作成し、これに順次、追加クエリで他のテーブル のデータを追加、というのも考えましたが、なんとなくこちらでも同様に フィールド数の上限を超えてしまいそう・・・(汗)) あまりお役に立てそうにありませんが(汗)、参考までに。