首页 > 解决方案 > SUM COLUMN RESULTS 0 GROUP BY IN SUBQUERIES mysql

问题描述

select cs.prod_id, 
    cs.product,
    cs.barcode, 
    COALESCE(total,0) as TOTALQTY, 
    COALESCE(sold,0) as SOLD, 
    COALESCE(total-sold,0) as RMNG  
from product cs left join 
( select sum(totalquantity) as total,stock_id, prod_id 
    from stock 
    group by prod_id 
) xx 
on xx.prod_id = cs.prod_id 
left join 
   ( select sum(quantity)as sold, stock_id 
    from order_list 
    group by barcode
 ) yy 
 on yy.stock_id = xx.stock_id 
 inner join (
    select category, cat_id 
     from category
) cc 
on cc.cat_id=cs.cat_id 
ORDER BY cs.product ASC 

我在单个查询中尝试过,它的工作原理是正确的,即 48。按条码从 order_list 组中选择条形码,总和(数量)作为 SOLD,stock_id

条码 stock_id
30055 48 457

请帮帮我。谢谢

产品表

prod_id 产品 条码
58 BOX-L 30055

库存表 该项目的总数量为 70

stock_id prod_id 总数(量
57 58 20
457 58 50

订单表总销售量为 48

ol_id stock_id 条码 数量
3822 57 30055 20
3922 457 30055 4
3922 457 30055 4
3922 457 30055 20

|

我的输出结果是这样的。totalQuantity 正确,但已售出和 rmng 不正确,它返回 0,但在单个查询中具有值。

prod_id 产品 条码 总数(量 RMNG
60 BOX-L 30055 70 0 0

预期输出

prod_id 产品 条码 总数(量 RMNG
60 BOX-L 30055 70 48 22

标签: mysqlsubquery

解决方案


推荐阅读