进行查询以显示不匹配的数据
Make a query to display unmatched data
我在进行显示两个表之间不匹配数据的查询时遇到困难。
这些表格是:
Employee data Salary data
ID Holidays ID Holiday
1 10 0 10
2 8 1 5
3 5 2 8
4 7 3 5
5 8 7 6
6 5 8 9
7 6 9 2
8 9 10 3
主键是两个表的 ID。
我希望我的查询结果包含两个表中不匹配的所有值。
我想要的输出类型是这样的:
ID Holiday
0 10
1 10
1 5
4 7
5 8
6 5
9 2
10 3
我尝试使用不匹配的查询向导,但它只比较 ID,而不是 Holiday 列。
请帮助我!
您可以使用两个存在查询的联合:
SELECT ID, Holiday FROM Employee as e
WHERE NOT EXISTS (SELECT 1 FROM Salary as s WHERE s.ID = e.ID AND s.Holiday = e.Holiday)
UNION ALL
SELECT ID, Holiday FROM Salary as s
WHERE NOT EXISTS (SELECT 1 FROM Employee as e WHERE e.ID = s.ID AND e.Holiday = s.Holiday);
我在进行显示两个表之间不匹配数据的查询时遇到困难。 这些表格是:
Employee data Salary data
ID Holidays ID Holiday
1 10 0 10
2 8 1 5
3 5 2 8
4 7 3 5
5 8 7 6
6 5 8 9
7 6 9 2
8 9 10 3
主键是两个表的 ID。
我希望我的查询结果包含两个表中不匹配的所有值。 我想要的输出类型是这样的:
ID Holiday
0 10
1 10
1 5
4 7
5 8
6 5
9 2
10 3
我尝试使用不匹配的查询向导,但它只比较 ID,而不是 Holiday 列。 请帮助我!
您可以使用两个存在查询的联合:
SELECT ID, Holiday FROM Employee as e
WHERE NOT EXISTS (SELECT 1 FROM Salary as s WHERE s.ID = e.ID AND s.Holiday = e.Holiday)
UNION ALL
SELECT ID, Holiday FROM Salary as s
WHERE NOT EXISTS (SELECT 1 FROM Employee as e WHERE e.ID = s.ID AND e.Holiday = s.Holiday);