mysql - 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 |
解决方案
推荐阅读
- objective-c - 使用 lldb 创建 Swift 类实例变量,而不是 Objective-C
- ansible - Ansible - 运行任务列表直到成功
- gnuplot - gnuplot:在一个窗口中的各个图之间移动,就像一个图像查看器
- css - 仅在 xs(智能手机和 iphone)中在 Bootstrap 4 中应用底部边距
- ios - 读取 json 文件并显示在 table view 错误:
- javascript - 将敏感数据保存在 nodejs 变量中是否安全?
- mysql - 如何在 Workbench 中为 MySQL 表指定 DateTime()
- php - astream_context_create 中的承载授权
- python-2.7 - 在 python 中,我如何递归替换字符串中的 % 占位符
- angularjs - ng-src 使用随机生成器显示多个图像 - Ionic 1 / Cordova