我正在寻找有关 Access 查询的帮助,以便从出现在两列中的另一个表中筛选出一个表中的数据。我有以下表格:
检查表
ID | 碳 |
---|---|
1 | 123 |
2 | 456 |
3 | 789 |
4 | 肝纤维化 |
5 | 砂岩岩浆沉积 |
6 | ABC |
源表
ID | 一个 | 乙 | F |
---|---|---|---|
1 | 123 | ABC | 156.pdf |
2 | 456 | 440.pdf | |
3 | 防御 | 149.pdf | |
4 | 789 | 高血压 | 160.pdf |
5 | 111 | 178.pdf | |
6 | 杰凯伦 | 506.pdf | |
7 | 156.pdf |
我需要查询返回 check_tbl.C 中出现在 source_tbl.A 和 source_tbl.B 以及 source_tbl.F 中的每个条目,但我需要删除 check_tbl.C 同时出现在 source_tbl.A 和 source_tbl.B 中的重复项(即只返回两个结果中的一个)
返回结果应如下所示:
结果
碳 | F |
---|---|
ABC | 156.pdf |
456 | 440.pdf |
789 | 160.pdf |
由于 check_tbl.C 中的值 123 和 ABC 分别出现在 source_tbl.A 和 source_tbl.B 中,因此只应返回一个。
到目前为止我有这个:
SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.A
UNION SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.B;
但它不会过滤掉重复项,并且只返回数据同时出现在source_tbl.A和source_tbl.B中的值。
如果有人能帮助我我将不胜感激。
如果您想要结果表中具有最低 ID 的第一个 C。
以下查询模拟 ROW_NUMBER
结果: