とっておきの「夜食」教えて下さい

アクセスはまったくのド素人です。

OS:WindowsXP
バージョンは2000です。

A,Bのテーブルがあり、それぞれのレコードは以下の通りです。

A
a b c
1 4 7
2 5 8
3 6 9
5 6 8

  B 
d e f
5 6 8
1 4 7
2 1 3
4 4 6


d,e,fのフィールドがa,b,cと一致しないレコード(ここでは『2 12 13』と『2 1 3』)をクエリで抜き出したい時はどうすればよいでしょうか?

d,e,fに『Is Null』を指定して不一致クエリを実行しても思うように行きませんでした。

A 回答 (3件)

A B それぞれのテーブルを元に比較用クエリをつくり


比較用のフィールドを創りましょう。

具体的には
a*100+b*10+c

として三桁の数値にします。

↓こんな感じ。
比較用クエリA(データソースはテーブルA)
a b c 比較A
1 4 7 147
2 5 8 258
3 6 9 369
5 6 8 568


これをBにも行い、

それぞれの比較用クエリの比較用フィールド(比較Aと比較Bの不一致を見る)で不一致クエリしてみて下さい。

それで出ると思います♪
    • good
    • 0

こんにちは、便乗ですみません。


#1さんのおっしゃるのを具体的なSQLにすると
おそらくこんな感じだと思います。
SQLビューにして貼って、見てみるとわかりやすいかもしれません。

SELECT tblB.* FROM tblA RIGHT JOIN tblB ON (tblA.c = tblB.c) AND (tblA.b = tblB.b) AND (tblA.a = tblB.a) WHERE tblA.a Is Null;
    • good
    • 0

例示の


> (ここでは『2 12 13』と『2 1 3』)
の『2 12 13』はどこに登場しますか?


1)クエリの新規作成>デザインビューをクリック
2)テーブルの追加で、まず「B」を、ついで「A」を追加(Bが左、Aが右になるように)
3)B-dをA-aに、B-eをA-bに、B-fをA-cにドラッグ(方向を守ること)
4)3)で作成された線を右クリック
5)1,2,3のラジオボタンがあるので、2を選択、これを3本とも実行
6)Aのタイトル部分をダブルクリックするとa,b,cが選択されるので下側の表内にドラッグ
7)A-a、A-b、A-cの3つともにis nullを設定

でどうでしょう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A