MySQL查询每月总销售额和付款类型

时间:2013-10-25 17:17:12

标签: mysql database report

你好我在Mysql查询中有问题,每个付款类型显示月度报告。 我有这样的数据库表。

uid | invoice_num | pay_type | trans_date |总

在pay_type中我使用枚举类型,其中 0 =现金,1 =借记,2 =信用

我想显示这样的数据。

Trans_date |现金|借记|信用|总
2013年10月1日1000 0 500 1500

这是我当前的查询但是,它返回错误。

SELECT 
(SELECT tgl_transaksi FROM tb_detail_transjual GROUP BY tgl_transaksi) as tanggal,

(SELECT SUM(total) FROM tb_detail_transjual
WHERE jenis_trans=0) as cash,

(SELECT SUM(total) FROM tb_detail_transjual
WHERE jenis_trans=1) as debit,

(SELECT SUM(total) FROM tb_detail_transjual
WHERE jenis_trans=2) as credit

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用CASE WHEN语句。我没有测试过这个,但它应该可行。如果要对其进行排序,可以将ORDER BY trans_date添加到结尾。

SELECT trans_date, 
    CASE WHEN pay_type = 0 THEN sum(total) ELSE 0 END AS Cash, 
    CASE WHEN pay_type = 1 THEN sum(total) ELSE 0 END AS Debit, 
    CASE WHEN pay_type = 2 THEN sum(total) ELSE 0 END AS Credit, 
    sum(total) AS Total
FROM tb_detail_transjual
GROUP BY trans_date