MySQL查询显示结果

时间:2017-06-07 08:48:51

标签: mysql

我的查询是......

SELECT 
    tbl1.FeeName,
    SUM(tbl1.FeeAmount) AS TotAmt
FROM 
    tbl1
WHERE
    tbl1.DateTaken BETWEEN '2017-06-02' AND '2017-06-06'
GROUP BY
    tbl1.FeeId

输出是......

Fee

该表格中包含上述日期之间未进行的其他费用(交易),因此未显示在query结果中。

我想显示那些FeeNames,值应为 0 。就像下面(黄色结果)。

Fee1

我该怎么办?

1 个答案:

答案 0 :(得分:6)

试试这个:这只会执行在给定日期范围内的费用的总和操作,剩余费用将为0

SELECT 
tbl1.FeeName,
SUM(CASE WHEN tbl1.DateTaken BETWEEN '2017-06-02' AND '2017-06-06' 
         THEN tbl1.FeeAmount
         ELSE 0
    END) AS TotAmt
FROM tbl1
GROUP BY  tbl1.FeeId