2009-04-29 5 views
0

私はMS-Access、UとRに2つのテーブルを持っています。それらを一緒に結合し、2つのフィールドを比較したいと思います。しかし、両方にXタグがあるので、私はX行を取得しています。 ID 4と2で分かるように、各テーブルには2つのタグがあり、どちらも同じですが、クエリのためにすべての組み合わせが比較されるため4行戻ってきます。ユニークな値がyesに設定されています。どのようにすれば、以下の例のためにこの作業を2行だけ戻すことができますか。アクセスクエリ

SELECT u.ID, u.Tag, r.ID, r.Tag 
FROM u INNER JOIN r ON (u.ID = r.ID) AND (u.Tag = r.Tag) 

UNION ALL 

SELECT u.ID, u.Tag, r.ID, r.Tag 
FROM u LEFT JOIN r ON (u.ID = r.ID) AND (u.Tag = r.Tag) 
WHERE r.Tag Is Null 

ID U Tag1 R Tag2 Comp 
1 100XX7 100XX7 SAME 
2 11646L 11644 DIFFERENT 
2 11646L 1X05X DIFFERENT 
2 15650 11644 DIFFERENT 
2 15650 1X05X DIFFERENT 
3 5981X 598X0 DIFFERENT 
4 19103 19103 SAME 
4 19103 19X95 DIFFERENT 
4 19X95 19103 DIFFERENT 
4 19X95 19X95 SAME 
+1

この値を返すクエリを提供できますか?そのクエリで使用されるテーブルのデータを提供できますか? –

+0

希望の出力を提供できますか?だから私はあなたが本当に望むものを見ることができます – TStamper

答えて

0

あなたが今使っているものは何でもクエリに

GROUP BY id, U.Tag1, R.Tag2, (Comp? perhaps if you need that in your output)

句を追加します:)

1

あなたがの行に何かを探しています最初の部分は一致したタグを示し、2番目の部分(Union Allの後)はt rで見つからなかったuのag。

関連する問題