基本上我要做的是计算审计/历史表中不存在的行数。我希望以下查询返回每个详细信息的计数。目前它在历史表中每行给我一个。
--Detail Table
ID DETAIL_GROUP
1 A
2 B
3 B
--Detail History Table
DETAIL_ID_FK VALUE1
1 NOT_MATCH
1 NOT_MATCH
2 MATCH
2 NOT_MATCH
3 MATCH
3 NOT_MATCH
SELECT D.DETAIL_GROUP, COUNT(*)
FROM DETAIL D
WHERE (NOT EXISTS(
SELECT NULL
FROM DETAIL_HISTORY HI
WHERE HI.D_ID_FK = D.ID
AND HI.VALUE1 = 'MATCH'))
GROUP BY D.DETAIL_GROUP;
我想看到以下结果:
DETAIL_GROUP COUNT(*)
A 1
但我收到以下结果:
DETAIL_GROUP COUNT(*)
A 2
预先感谢您提供的任何帮助。