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

MySQL三表场景:如何查找未关联act类型文档的Items记录

MySQL查询:找出未关联doc_type为act的文档的item_id

这里提供两种可行的SQL解决方案:

方法一:使用NOT IN子查询

SELECT DISTINCT item_id
FROM Items_Docs
WHERE item_id NOT IN (
    SELECT item_id
    FROM Items_Docs
    JOIN Docs ON Items_Docs.doc_id = Docs.id
    WHERE Docs.doc_type = 'act'
);

思路说明:

  • 子查询先关联Items_Docs和Docs表,筛选出所有关联了doc_type='act'文档的item_id(对应数据里的item2和item3)
  • 外层查询从Items_Docs中排除这些item_id,用DISTINCT确保结果唯一,最终得到未关联act类型文档的item_id

方法二:使用LEFT JOIN

SELECT DISTINCT i.item_id
FROM Items_Docs i
LEFT JOIN Docs d 
    ON i.doc_id = d.id 
    AND d.doc_type = 'act'
WHERE d.id IS NULL;

思路说明:

  • 通过LEFT JOIN关联Items_Docs与Docs表,同时限定文档类型为act
  • 若某个item未关联任何act类型文档,关联后的Docs表字段会全部为NULL,通过WHERE d.id IS NULL筛选出这类记录,最后去重得到结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:25:17