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

使用自连接去重:SQL筛选指定caseID数据需求咨询

实现方案

要满足需求,我们可以通过UNION ALL结合子查询的方式来实现,具体SQL语句如下:

-- 选取hq位置的所有caseID,统一设置officeID为44
SELECT caseID, 44 AS OfficeID
FROM a_table1
WHERE location = 'hq'

UNION ALL

-- 选取satellite位置中未在hq出现过的caseID,统一设置officeID为44
SELECT caseID, 44 AS OfficeID
FROM a_table1 satellite_data
WHERE location = 'satellite'
AND NOT EXISTS (
    SELECT 1
    FROM a_table1 hq_data
    WHERE hq_data.location = 'hq'
    AND hq_data.caseID = satellite_data.caseID
)

逻辑说明

  1. 第一部分查询直接筛选出location = 'hq'的所有记录,将结果的OfficeID固定为44
  2. 第二部分查询筛选location = 'satellite'的记录,通过NOT EXISTS子查询排除那些已经在hq中存在的caseID,同样设置OfficeID为44
  3. 使用UNION ALL合并两部分结果,因为两部分数据不会有重复值,比UNION效率更高

验证结果

执行上述语句后,得到的结果与期望输出完全一致:

caseIDOfficeID
2344
8644
2644
3244
1544
3344
1744

内容的提问来源于stack exchange,提问作者Kung Fu Ninja

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:37:07