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

MS Access中编写SQL查询获取Col_B仅含Blub的唯一行的方法

MS Access SQL查询实现方案

核心逻辑为筛选仅包含Blub记录的Col_C分组,排除所有存在Bar记录的Col_C值,再提取对应分组下的Blub去重记录,以下是两种兼容Access语法的实现:


方法1:NOT IN 子查询实现

SELECT DISTINCT Col_A, Col_B, Col_C
FROM 你的实际表名
WHERE Col_B = 'Blub'
AND Col_C NOT IN (
    SELECT DISTINCT Col_C
    FROM 你的实际表名
    WHERE Col_B = 'Bar'
)

逻辑说明:

  • 内层子查询先提取所有存在Col_B='Bar'的Col_C值,形成排除列表
  • 外层查询过滤Col_B='Blub'且Col_C不在排除列表中的记录,DISTINCT关键字实现结果去重

方法2:分组统计判断实现

SELECT DISTINCT t.Col_A, t.Col_B, t.Col_C
FROM 你的实际表名 t
INNER JOIN (
    SELECT Col_C
    FROM 你的实际表名
    GROUP BY Col_C
    HAVING SUM(IIF(Col_B='Bar',1,0)) = 0
) 合格ColC ON t.Col_C = 合格ColC.Col_C
WHERE t.Col_B = 'Blub'

逻辑说明:

  • 内层子查询按Col_C分组,使用Access内置IIF函数统计每个分组下Bar的出现次数,过滤出出现次数为0的合格Col_C值
  • 关联原表提取合格Col_C下的Blub记录,DISTINCT关键字实现结果去重

使用时请将代码中的你的实际表名替换为你自己的数据表名称即可。


内容的提问来源于stack exchange,提问作者sa-biene

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:00:00