我正在使用 2 个单独的查询来检查重复项,并且两个查询在执行时都应该给出相同的答案,但事实并非如此。下面是我的数据库表数据的示例:
id Name Age Group SeatNo
------------------------------------------
1 Alpha 11 A NULL
2 Bravo 12 A 1
3 Alpha 11 B NULL
这是我的第一个查询,它显示有重复项
SELECT count(*)
FROM Test AS ta
JOIN Test AS tb ON ta.name=tb.name AND ta.age=tb.age
WHERE ta.GroupName='A'
AND tb.GroupName='B'
这是我的第二个查询,显示零重复
SELECT count(*)
FROM Test AS ta
JOIN Test AS tb ON ta.name=tb.name AND ta.age=tb.age AND ta.SeatNo=tb.SeatNo
WHERE ta.GroupName='A'
AND tb.GroupName='B
在查看了查询和表中的数据后,seatNo 中的 NULL 似乎影响了第二个查询并导致它返回 0 个重复项。即使它是NULL,是否有任何解决方案来搜索重复项?