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

验证T2是否已删除所有含早于2022-01-01事件的ID数据

正确的校验方法

要确认T2中已彻底清除所有存在Event_Date < '2022-01-01'事件的ID,可以从两个核心维度做校验,以下是具体SQL语句:

维度1:检查T2是否残留需删除的ID

这条语句会找出T2中所有属于「原始数据(T1)里存在早于2022-01-01事件」的ID,返回空结果(或统计数为0)则说明没有残留:

-- 查看具体残留ID(返回空则正常)
SELECT DISTINCT T2.ID
FROM T2
WHERE T2.ID IN (
    SELECT DISTINCT ID 
    FROM T1 
    WHERE EVENT_DATE < '2022-01-01'
);

-- 或直接统计残留数量(返回0则正常)
SELECT COUNT(*) AS residual_invalid_id_count
FROM T2
WHERE T2.ID IN (
    SELECT DISTINCT ID 
    FROM T1 
    WHERE EVENT_DATE < '2022-01-01'
);

维度2:确认所有需删除的ID已从T2移除

这条语句会找出「原始数据里存在早于2022-01-01事件,但仍在T2中存在」的ID,返回空则说明所有目标ID已被彻底删除:

SELECT DISTINCT T1.ID
FROM T1
WHERE T1.EVENT_DATE < '2022-01-01'
  AND T1.ID IN (SELECT ID FROM T2);

为什么你之前的SQL无法满足需求?

你之前的关联查询通过INNER JOIN关联T1和T2,再过滤T1中早于日期的记录。如果T2中已删除目标ID,这条查询确实会返回空,但它的逻辑表述不够直接——没有明确聚焦在「需删除的ID是否还在T2」上。用上面两种方法能更清晰、精准地完成校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:13:40