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

基于Discount表数据关联Products与Price表的SQL实现问题

可行实现方案

共有两种常用实现方式,均可以满足需求:

方式1:WHERE子句加IN子查询(符合你提到的嵌套约束思路)

你原来的逻辑只需要额外加一行WHERE过滤条件即可,注意你原始SQL里的表名Product要补全为Products,带特殊符号的字段Ref#建议加反引号避免语法报错:

SELECT * 
FROM Products AS a
LEFT JOIN Price AS b
ON a.`Ref#` = b.`Ref#`
WHERE a.ProductID IN (SELECT ProductID FROM Discount)

方式2:INNER JOIN关联Discount表(数据量大时性能更优)

直接通过内连接提前过滤掉Discount中不存在的ProductID,再关联Price表,执行结果和方式1完全一致:

SELECT * 
FROM Products AS a
INNER JOIN Discount AS c
ON a.ProductID = c.ProductID
LEFT JOIN Price AS b
ON a.`Ref#` = b.`Ref#`

两种方案最终都会过滤掉ProductID为B5678的记录,仅保留Discount中存在的ProductID对应的关联结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:12:01