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

SQL查询:查找A列匹配B列4条中3条的记录及仓库缺失产品

enter image description here
以上为说明本次问题的示例数据。

需求1:查询A列中与B列4条记录匹配其中3条的记录

假设表名为product_info,B列的4条待匹配值为val1、val2、val3、val4,你可替换为实际业务值,参考SQL如下:

SELECT A
FROM product_info
WHERE B IN ('val1', 'val2', 'val3', 'val4')
GROUP BY A
HAVING COUNT(DISTINCT B) = 3;

提示:若同一个A不会对应重复的B值,可将COUNT(DISTINCT B)改为COUNT(*)提升查询效率

需求2:查找BB、CC等其他仓库存在、但主仓库AA不存在的A列产品

假设存储仓库产品的表名为warehouse_product,仓库标识字段为warehouse_code,参考SQL如下:

-- 写法1:NOT IN 写法,逻辑简单易读
SELECT DISTINCT A
FROM warehouse_product
WHERE warehouse_code IN ('BB', 'CC')
AND A NOT IN (
    SELECT DISTINCT A
    FROM warehouse_product
    WHERE warehouse_code = 'AA'
);
-- 写法2:LEFT JOIN 写法,大数据量场景下性能更优
SELECT DISTINCT t1.A
FROM warehouse_product t1
LEFT JOIN warehouse_product t2
  ON t1.A = t2.A AND t2.warehouse_code = 'AA'
WHERE t1.warehouse_code IN ('BB', 'CC')
AND t2.A IS NULL;

提示:请根据实际业务替换表名、字段名和仓库编码值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:09:01