我有两个表,每个表有 2 列。表 1 中的 A 列和 B 列。表 2 中的 C 列和 D 列。
我想比较 A 列和 C 列以及 B 列和 D 列。
我希望结果在中心添加第五列,并带有某种类型的匹配指示符,例如:
A B 指示器 C D
并显示以下结果:
A 与 C 匹配,B 与 D 匹配。
两个匹配之一(A 到 C)或(B 到 D)
A 和 B 都不匹配 C 和 D(分别)
对于#3,它将显示空白字段,因为没有任何匹配项。
这是 1、2 和 3 的示例:
预先感谢您的帮助!
这不是完整的答案。但它应该能让你了解你正在寻找的东西 下次提供数据示例。 表1
身份证 | A | B |
---|---|---|
1 | 苹果 | 橙色 |
2 | 苹果 | 葡萄 |
3 | 李子 | 猕猴桃 |
表2
身份证 | A | B |
---|---|---|
1 | 苹果 | 橙色 |
2 | 苹果 | 橙色 |
SELECT Table1.A, Table1.B, Table2.C, Table2.D,
FORMAT(EXISTS (SELECT * FROM Table2 WHERE Table2.C = Table1.A),"Yes/No") AS Matched_AC,
FORMAT(EXISTS (SELECT * FROM Table2 WHERE Table2.D = Table1.B),"Yes/No") AS Matched_BD
FROM Table1
LEFT JOIN Table2 ON Table1.ID = Table2.ID;
结果应该是
A | B | C | D | 匹配_AC | 匹配_BD |
---|---|---|---|---|---|
苹果 | 橙色 | 苹果 | 橙色 | 是的 | 是的 |
苹果 | 葡萄 | 苹果 | 橙色 | 是的 | 没有 |
李子 | 猕猴桃 | 没有 | 没有 |