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

Oracle数据库查询包含指定三个零件的产品名称

Oracle查询同时包含指定多个零件的产品名称

你的错误SQL逻辑问题在于:单条记录的part字段仅存储单个零件值,无法同时匹配'a and b and c'这类字符串。以下是几种正确的解决方案:

方案1:分组统计法(推荐)

通过分组后统计零件数量,筛选出包含全部指定零件的产品:

SELECT Product
FROM your_table_name  -- 替换成你的实际表名
WHERE part IN ('a', 'b', 'c')
GROUP BY Product
HAVING COUNT(DISTINCT part) = 3;
  • 若表中同一产品的同个零件不会重复出现,可去掉DISTINCT,直接用COUNT(part) = 3。

方案2:自连接法

通过三次自连接,匹配同时存在三个零件的产品:

SELECT DISTINCT t1.Product
FROM your_table_name t1
JOIN your_table_name t2 ON t1.Product = t2.Product AND t2.part = 'b'
JOIN your_table_name t3 ON t1.Product = t3.Product AND t3.part = 'c'
WHERE t1.part = 'a';

方案3:EXISTS子查询法

通过子查询分别验证每个零件的存在性:

SELECT DISTINCT Product
FROM your_table_name t
WHERE EXISTS (SELECT 1 FROM your_table_name WHERE Product = t.Product AND part = 'a')
  AND EXISTS (SELECT 1 FROM your_table_name WHERE Product = t.Product AND part = 'b')
  AND EXISTS (SELECT 1 FROM your_table_name WHERE Product = t.Product AND part = 'c');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:32:07