SUM不会在MySQL中返回预期结果

时间:2018-03-27 15:00:58

标签: mysql

我有一个查询,当所有表都填充数据时效果很好,但当其中一个表为空时,它不会返回预期结果。

查看行动中的问题:
http://sqlfiddle.com/#!9/3d7ca1/1

查询应该返回240,因为我在120有2个项目。

___ApplicableTaxes填充数据时,查询正在运行,但在我的实际情况中并非总是如此:
http://sqlfiddle.com/#!9/de1840/1

我的实际查询是:

SELECT BIL_Status
    , SUM(BIL_Rate*BIL_Quantity) BIL_RateNonTaxed
    , IFNULL(SUM((BIL_Rate*BIL_Quantity)+(BIL_Rate*BIL_Quantity*total_sales_tax/100)), SUM(BIL_Rate*BIL_Quantity)) BIL_RateTaxed 
    FROM 
    ( SELECT b.*
            , SUM(t.STX_Amount) total_sales_tax 
        FROM ___BillableDatas b 
        LEFT JOIN ___ApplicableTaxes bt 
            ON bt.ATX_BILId = b.BIL_Id 
        LEFT JOIN ___SalesTaxes t 
            ON t.STX_Id = bt.ATX_STXId 
        GROUP  
            BY ATX_BILId
     ) x
WHERE BIL_BookingId=1
GROUP 
    BY BIL_Status

我在这里失踪了什么?

感谢。

0 个答案:

没有答案