MySQL查询导致减去不同表中2列的总和

维森特危机

我有一个具有以下表的MySQL数据库:

产品

Product_ID | Product_Name
     1     |     Blaster
     2     |     Faser
     3     |     BFG

订单

Order_ID | Product_ID | Order_Product_Qnt
    1    |     1      |        10
    2    |     2      |        5
    3    |     3      |        7
    4    |     2      |        10

Sell_ID | Product_ID | Sel_Product_Qnt
    1   |      2     |        5
    2   |      1     |        1
    3   |      3     |        2

我想做的是一个查询,其中列出了所有产品及其数量。

结果应为:

Product_Name | Quantity
BFG          |    5
Blaster      |    9
Faser        |    10

遵循Barnar的建议,我得到了以下代码:

SELECT 
    Products.Product_Name,
    COALESCE (SUM(Orders.Order_Product_Qnt), 0) - COALESCE (SUM(Sells.Sells_Product_Qnt), 0) AS Quantity
FROM 
    Products
LEFT JOIN 
    Orders ON Products.Product_ID = Orders.Product_ID
LEFT JOIN 
    Sells ON Products.Product_ID = Sells.Product_ID
GROUP BY 
    Products.Product_Name

该查询有效,但返回错误值。

例如,我有一个产品有6个订单,有1个卖出,逻辑表明6-1 = 5,但是该查询给了我4个结果。

或另外一个有18个订单和6个卖出的订单,则返回60(应为12)。

任何建议表示赞赏。

维森特危机

终于成功了,忘了在这里发布我的解决方案:

    SELECT
        Products.Product_ID,
        Products.Product_Name,
        IFNULL(b.SB - c.SC, 0) AS Quantity,
   FROM Produtos_Table
        LEFT JOIN (
            SELECT 
                Product_ID,
                SUM(Quantity) AS SB
            FROM
                Orders 
            GROUP BY Product_ID
        ) b 
        ON Products.Product_ID = b.Product_ID
        LEFT JOIN (
            SELECT
                Product_ID,
                SUM(Sell_Product_Qnt) AS SC 
            FROM 
                Sells
            GROUP BY 
                Product_ID
        ) c
        ON Products.Product_ID = c.Product_ID
   GROUP BY
        Products.Product_Name

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从1个表中返回的mysql查询返回不同条件的同一列的总和

来自分类Dev

MySQL查询以查找列中的不同值并获取总和

来自分类Dev

查找不同表中不同列的总和

来自分类Dev

从不同表的2列中获取总和

来自分类Dev

查询以汇总来自MySQL中不同表的不同列

来自分类Dev

从MongoDB中的总和查询中减去值

来自分类Dev

减去不同表的两列

来自分类Dev

来自不同MySQL表中不同字段的总和

来自分类Dev

来自不同MySQL表中不同字段的总和

来自分类Dev

SQL:从2个不同的表中减去SUM

来自分类Dev

SQL查询选择表1中的一列,并使用该列选择表2中的总和

来自分类Dev

从另一张表的列中减去一列的总和

来自分类Dev

减去一个列的总和,从另一个表中的一个列的总和

来自分类Dev

更新查询两个不同表中的两个不同列-MySQL

来自分类Dev

从另一列减去一列总和的查询

来自分类Dev

从另一列减去一列总和的查询

来自分类Dev

Postgres 中 2 个表中总和的递归查询

来自分类Dev

根据表中的不同值查询列

来自分类Dev

创建查询(来自不同表的总和)

来自分类Dev

MySQL查询获取列的总和

来自分类Dev

SQL Server 2012:来自不同表的单个查询中的多个选择计数(第1列)导致错误

来自分类Dev

SQL在同一表中减去2列

来自分类Dev

如何从MySQL中的不同组中找到列的总和之差?

来自分类Dev

MySQL查询基于该列组中的值的总和

来自分类Dev

Mysql查询中不同列的计算

来自分类Dev

使用LINQ SQL将多个表分组并减去列的总和

来自分类Dev

MySQL中不同值的总和

来自分类Dev

PHP MySQL查询(来自不同行的总和)

来自分类Dev

MySQL不同的总和,不带子查询

Related 相关文章

热门标签

归档