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

如何编写SQL查询筛选含指定warehouse_id的关联表记录?

筛选关联表中包含指定warehouse_id的分组全记录

给定关联表结构与数据如下:

warehouse_group_idwarehouse_id
11
21
41
42
51
52

需求:筛选出所有包含指定warehouse_id的warehouse_group_id对应的全部记录。例如指定warehouse_id=2时,需返回warehouse_group_id为4和5的所有4条记录。

方法1:子查询匹配分组ID

SELECT *
FROM your_table_name
WHERE warehouse_group_id IN (
    SELECT warehouse_group_id
    FROM your_table_name
    WHERE warehouse_id = 2
);

先通过子查询找出所有包含目标warehouse_id的分组ID,外层查询再提取这些分组对应的所有记录。

方法2:自连接实现关联筛选

SELECT t1.*
FROM your_table_name t1
JOIN your_table_name t2
ON t1.warehouse_group_id = t2.warehouse_group_id
WHERE t2.warehouse_id = 2;

将表与自身通过分组ID关联,筛选出包含目标warehouse_id的分组,同时取出该分组的所有记录。

方法3:EXISTS子句验证分组存在性

SELECT *
FROM your_table_name t1
WHERE EXISTS (
    SELECT 1
    FROM your_table_name t2
    WHERE t2.warehouse_group_id = t1.warehouse_group_id
    AND t2.warehouse_id = 2
);

检查当前记录所属分组是否存在目标warehouse_id的条目,存在则保留该记录。

注意:替换语句中的your_table_name为你的实际表名,2为需要指定的warehouse_id值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:47:36