我在MS-Access,U和R中有两个表。我已将它们连接在一起并希望比较两个字段。但是,因为两者都有X标签来比较我得到的X行。正如您在ID 4和2中看到的那样,每个表中都有两个标签,它们都是相同的,但是由于我的查询,我得到了四行,因为它比较了所有组合。我确实将“唯一值”设置为“是”。我怎样才能使这项工作只返回以下两行示例。
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
答案 0 :(得分:1)
您是否正在寻找以下内容:
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
第一部分显示匹配的标签,第二部分(在Union All之后)显示u中未在r中找到的标签。
答案 1 :(得分:0)
添加
GROUP BY id, U.Tag1, R.Tag2, (Comp? perhaps if you need that in your output)
子句到你现在使用的任何查询:)