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

如何用SQL筛选无对应Deleted状态的Available记录

解决方案

可以用子查询结合NOT EXISTS来实现这个筛选逻辑,这是直观且高效的写法之一:

SELECT *
FROM your_table main
WHERE main.status = 'Available'
  AND NOT EXISTS (
    SELECT 1
    FROM your_table sub
    WHERE sub.ID = main.ID
      AND sub.RID = main.RID
      AND sub.IID = main.IID
      AND sub.status = 'Deleted'
  );

逻辑说明:

  • 主查询先筛选出所有状态为Available的记录
  • 子查询检查**同一实例(相同ID、RID、IID)**是否存在对应的Deleted状态记录
  • NOT EXISTS确保只有那些没有对应Deleted记录的Available记录才会被返回

注意事项:

  • 把your_table替换成你实际的数据表名称
  • 如果status字段的值大小写敏感(比如部分数据库区分available和Available),要确保匹配准确
  • 该写法在MySQL、PostgreSQL、SQL Server等主流关系型数据库中均可正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:24:52