You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access中SQL查询仅匹配未软删除重复企业数据的问题

修改MS Access重复记录查询(排除软删除)

假设你的软删除字段是IsDeleted(0=未删除,1=已删除),直接在子查询和主查询中都添加未删除过滤条件,就能避免统计已删除记录,同时只返回未删除的重复项:

SELECT c.*
FROM Customers AS c
WHERE c.IsDeleted = 0 -- 主查询仅展示未删除记录
AND (c.PostCode, c.Phone) IN (
    SELECT PostCode, Phone
    FROM Customers
    WHERE IsDeleted = 0 -- 子查询仅统计未删除的记录
    GROUP BY PostCode, Phone
    HAVING COUNT(*) > 1
)

关键修改说明:

  • 子查询里加WHERE IsDeleted = 0,确保分组统计的都是未删除数据,不会把已删除记录算进来导致误判单条未删除记录为重复(比如Jacobson Group这类情况)。
  • 主查询同步添加过滤条件,保证最终返回的结果全是未删除的重复记录,不会混入已删除项。

如果你的软删除字段命名不同(比如DeletedFlag、Active等),把IsDeleted = 0替换成对应的判断逻辑即可(比如Active = True)。

内容的提问来源于stack exchange,提问作者M.Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 23:06:09