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

如何查询关联B_ID列所有指定值的A_ID列对应值

SQL查询解决方案

核心思路

要筛选出关联了指定B_ID集合中所有值的A_ID,核心逻辑是:

  • 先过滤出所有B_ID落在目标集合内的记录
  • 按A_ID分组统计匹配的B_ID数量
  • 当匹配的去重B_ID数量等于目标集合的元素总数时,该A_ID即为符合要求的结果

具体查询语句

假设你的表名为a_b_mapping,目标B_ID集合为{1,2},查询语句如下:

SELECT A_ID
FROM a_b_mapping
WHERE B_ID IN (1, 2)
GROUP BY A_ID
HAVING COUNT(DISTINCT B_ID) = 2;

说明

  • 若表中不存在同一个A_ID和同一个B_ID重复关联的记录,可以将COUNT(DISTINCT B_ID)简化为COUNT(*),查询性能更高
  • 更换查询的B_ID集合时,只需要同步修改IN后的集合值,以及HAVING子句中等号后的数值(即集合的元素个数)即可
  • 针对你提供的样例数据执行上述语句,返回结果为5和9,和预期完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:57:03