请教:一个简单的SQL子查询问题
一张货品信息的表。
主键:编码
一张订货信息的表
外键:货品编码
问题:找出订货数量大于10的货品信息?
我的做法是:
SELECT * FROM 货品信息 WHERE 编码 IN(
SELECT 货品编码 FROM 订单信息表 GROUP BY 货品编码 HAVING SUM(数量)>10
)
结果也是正确,语句也比较好理解。
但是例子的写法是这样子的:
SELECT * FROM 货品信息 WHERE 编码 IN(
SELECT 货品编码 FROM 订单信息表 A
WHERE (SELECT SUM(数量) FROM 订单信息表 B WHERE A.货品编码=B.货品编码)>10
)
我就有点看不明白啦?
SELECT 货品编码 FROM 订单信息表 A
WHERE (SELECT SUM(数量) FROM 订单信息表 B WHERE A.货品编码=B.货品编码)>10
这一段的SQL逻辑看不明白,希望好心人帮小弟分析一下。
感激不尽!