- 締切済み
ACCESS テーブル同士の照合
テーブルAとテーブルBの照合がしたいのですが (AとBはフィールド名、データ型等全てが同じ) 項目が多く、クエリーの結合プロパティで一つ一つ設定するのが面倒です AとBを単純に照合出来る方法は無いでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tossy005
- ベストアンサー率38% (7/18)
Aテーブルのすべてのフィールドを主キーに設定したあと、 Bテーブルの中身をAテーブルにINSERT INSERTできたもの=1つ以上の項目が不一致
- Dxak
- ベストアンサー率34% (510/1465)
> AとBが照合か不照合かの結果が欲しいだけですが > 照合しテーブルCが出来るやり方でも、構いません > 宜しくお願いします。 う~ん、ごめん 照合って日本語で言えば、調べることで、調べるのはOKとしても、何をするのか?よく判らないのよ・・・簡易的な話をすれば、Where条件でIn演算子を使うと言うことになるのかな? 例えば、クエリのデザインビューでテーブルAのみ設置、フィールドをすべて貼り付けて、SQLビューに切り替えて Select A, B, C, D, ..., Z From テーブルA; と出てくるとして、 メモ帳などで、A~Zのフィールド名をコピー後、「,」を「 &」等に変更し、 「A, B, C, D, ..., Z」 を 「A & B & C & D & ... & Z」 と言う感じに切り替えて、From の後ろの「;」を消して Select A, B, C, D, ..., Z From テーブルA Where A & B & C & D & ... & Z In (Select A & B & C & D & ... & Z From テーブルB); と、文字を打ち込むと、データ状況にもよるけど、一致するレコードが抽出される Select A, B, C, D, ..., Z From テーブルA Where A & B & C & D & ... & Z Not In (Select A & B & C & D & ... & Z From テーブルB); と、Not を Inの前に追記すれば、テーブルAに含まれるが、テーブルBには、無いものが抽出される と、言うこんな感じの話をしているの? 具体的に言えば テーブルA A B C D E F テーブルB D E F G H I とした時に、 Cテーブルが D E F を出すのか? A B C を出すのか? A B C D E F G H I を出すのか? と、言う話ね
補足
度々すいません テーブルA 商品名1 あ | | | 商品名50 ん テーブルB 商品名1 あ | | | 商品名50 わ (商品名はフィールド名、”あ~ん”はデータ) で、この場合比較して 商品名50が不照合なので、「テーブルAとテーブルBは不照合です」 と言う、結果が欲しいんです なので、別にテーブルCを作成する必要も無いのですが (True,Falseの結果でも良いです) 照合の結果として、テーブルCが作成されるやり方でも良いかな と言う意味で前回書きました。
- Dxak
- ベストアンサー率34% (510/1465)
う~ん、質問の意図が判りかねますが・・・ Unionクエリでテーブル同士を結合したいと言うことなのでしょうか? それとも、排他クエリみたいに含んで無いレコードを検出したいと言うことでしょうか? 何を行いたいのか?同じフィールド名、同じデータ型で、結合して、何を出したいのか?よく判りませんが・・・ > AとBを単純に照合出来る方法は無いでしょうか? の、やりたい事が判りかねますので、補足をお願いできますか?
補足
確かに解り難いですね、申し訳ないです AとBが照合か不照合かの結果が欲しいだけですが 照合しテーブルCが出来るやり方でも、構いません 宜しくお願いします。
お礼
回答有難うございます テーブルのフィールド数が少ないのであれば、このやり方で 問題無いのですが、何せフィールド数が多すぎて・・・ でも、最後の最後はこのやり方を使うと思います 回答を待つと同時に自分でもいろいろ調べてみます