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

无需count查询SHIPMENT表中发运S2全部零件的发货商编号

符合要求的SQL查询方案

核心逻辑

这类「匹配全集」的需求在禁止用count的场景下,用双重NOT EXISTS的嵌套逻辑实现即可,本质是用反向排除替代计数校验:

我们要找的发货商,不存在「S2发运过的零件,该发货商没有发运」的情况,等价于该发货商覆盖了S2的全部发运零件。

可直接运行的查询语句

SELECT DISTINCT s1.ShipperNo
FROM SHIPMENT s1
WHERE NOT EXISTS (
    -- 取出S2发运的所有零件
    SELECT 1
    FROM SHIPMENT s2
    WHERE s2.ShipperNo = 'S2'
    AND NOT EXISTS (
        -- 校验当前外层的发货商是否发运了这个S2的零件
        SELECT 1
        FROM SHIPMENT s3
        WHERE s3.ShipperNo = s1.ShipperNo
        AND s3.Parts = s2.Parts
    )
);

结果验证

对照你给出的测试数据,查询结果为:

ShipperNo
S1
S2

完全符合预期:S1发运了P1、P2,S2本身也覆盖了自己的全部零件,S3只发了P1、S4只发了P2都不满足要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:54:06