我有一组预定义的值,包括
每个
以下查询不会显示不在
我还了解到
Cash
, Bank
, Card
, Cheque
,被称为付款方式(payment modes)
(没有用于它们的数据库表格)。每个
payments(支付)
都会有对应的付款方式。+-----------+
+ Payments +
+-----------+
+ id +
+ amount +
+ date +
+ mode +
+-----------+
以下查询不会显示不在
payments
表中的mode
。例如,如果没有通过cheque
进行付款,则它将不会出现在结果中。select p.mode, SUM(p.amount) 'total'
from payments p
我还了解到
Table Value Constructor
,但不确定它是否被 MySql 支持,因为我遇到了语法错误。select p.mode, SUM(p.amount)
from (
VALUES
('Cash'),
('Card'),
('Cheque'),
('Bank')
) as m(name)
left join payments p on m.name = p.mode
group by p.mode
是否有一种查询方式可以获取所有模式,而不管它们是否存在于payments
表中?我需要的结果如下:
++++++++++++++++++++
+ mode | total +
++++++++++++++++++++
+ cash | 100 +
+ cheque | 0 +
+ bank | 0 +
+ card | 300 +
++++++++++++++++++++