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

Access数据库查询需求:筛选重复客户的非空City、State记录

Access查询:提取唯一客户信息并保留有效地点记录

原Customer表数据

CustomerNoCustomerNameCityState
1234Jill ValeLACA
5678Chris ReddDENCO
9101Leon Kerr
2345Ada WrayPHXAZ
2345Ada WrayLVNV
2345Ada Wray
6789Sherri BellSFCA

期望输出

CustomerNoCustomerNameCityState
1234Jill ValeLACA
5678Chris ReddDENCO
9101Leon Kerr
2345Ada WrayPHXAZ
2345Ada WrayLVNV
6789Sherri BellSFCA

解决方案1:子查询筛选式SQL

通过WHERE条件结合子查询直接实现需求:

SELECT c.*
FROM Customer c
WHERE (c.City IS NOT NULL AND c.State IS NOT NULL)
OR NOT EXISTS (
    SELECT 1
    FROM Customer c2
    WHERE c2.CustomerNo = c.CustomerNo 
      AND c2.CustomerName = c.CustomerName
      AND c2.City IS NOT NULL 
      AND c2.State IS NOT NULL
);

逻辑说明

  • 第一条件:直接保留所有City和State均不为空的记录;
  • 第二条件:针对没有任何有效地点记录的客户(如Leon Kerr),保留他们的全部记录。

解决方案2:联合查询式SQL

将需求拆分为两部分查询,用UNION ALL合并结果,逻辑更直观:

-- 保留所有地点信息完整的记录
SELECT *
FROM Customer
WHERE City IS NOT NULL AND State IS NOT NULL

UNION ALL

-- 保留无有效地点记录的客户的全部记录
SELECT c.*
FROM Customer c
WHERE NOT EXISTS (
    SELECT 1
    FROM Customer c2
    WHERE c2.CustomerNo = c.CustomerNo 
      AND c2.CustomerName = c.CustomerName
      AND c2.City IS NOT NULL 
      AND c2.State IS NOT NULL
);

内容的提问来源于stack exchange,提问作者hwight

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 02:18:25