求一sql语句,关于两表符合查询的问题
a,b两表,a表和b表通过产品编号联系,a表有实际数量,b表有每条应该数量,以a表作为基表查询,相同的产品显示b表相同产品的数量和。
如下
a表
ProductID aQty
a1 1
a2 2
a3 3
b表
productID bQty
a1 1
a1 2
a2 3
a2 4
a2 5
查询出来以后如下
ProductID aQty SumbQty
a1 1 3
a2 2 12
a3 3 0
我也的语句如下
select a.*,SumbQty=(select sum(bQty) from b where b.productID=a.ProductID group by b.ProductID ) from a
是可以实现的,我想问实现这种查询有没有更好的方式?谢谢
[解决办法]
--用连接效率高一些.
select a.*,b.SumbQty
from a
left join (select ProductID,sum(bQty) as SumbQty from b group by ProductID)b on b.productID=a.ProductID
[解决办法]
select a.ProductID,a.aQty,b.SumbQty
from a
left join (select ProductID,sum(bQty) as SumbQty from b group by ProductID)b on b.productID=a.ProductID
[解决办法]
楼上的正解
[解决办法]
楼上正解