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

如何编写SQL查询符合多组条件的共同addition_cust_base_id

解决方案

以下是几种可实现需求的SQL写法,将语句中的你的表名替换为实际表名即可运行:

方法1:INTERSECT取交集(直观易读,支持PostgreSQL、MySQL 8.0+、Oracle、SQL Server等主流数据库)

-- 取第一组条件返回的ID和第二组条件返回ID的交集
SELECT addition_cust_base_id 
FROM 你的表名
WHERE addition_id = 1 AND addition_value = 'test_data'
INTERSECT
SELECT addition_cust_base_id 
FROM 你的表名
WHERE addition_id = 16 AND addition_value = 'test0412';

方法2:分组聚合+条件筛选(全数据库兼容,适合后续扩展更多匹配条件)

SELECT addition_cust_base_id
FROM 你的表名
WHERE 
  (addition_id = 1 AND addition_value = 'test_data')
  OR 
  (addition_id = 16 AND addition_value = 'test0412')
GROUP BY addition_cust_base_id
-- 匹配到2个不同的addition_id即代表同时满足两组条件
HAVING COUNT(DISTINCT addition_id) = 2;

如果你的表不存在同一个addition_id对应同一个addition_cust_base_id的重复记录,可以去掉DISTINCT提升查询效率。

方法3:自连接查询

SELECT DISTINCT t1.addition_cust_base_id
FROM 你的表名 t1
INNER JOIN 你的表名 t2
  ON t1.addition_cust_base_id = t2.addition_cust_base_id
WHERE 
  t1.addition_id = 1 AND t1.addition_value = 'test_data'
  AND
  t2.addition_id = 16 AND t2.addition_value = 'test0412';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 23:27:04