MySQLでは、union all
を使用してテーブルを作成できます :
select m.mode, SUM(p.amount)
from (select 'Cash' as mode union all
select 'Card' union all
select 'Cheque' union all
select 'Bank'
) m left join
payments p
on m.mode = p.mode
group by m.mode;
注:
name
を変更しましたmode
へ したがって、同じ情報の列は同じ名前になります。group by
キーは最初からのものである必要があります 秒ではなく名前 (つまり、m.mode
p.mode
の代わりに 。-
0
が必要な場合NULL
の代わりに 、次にcoalesce(sum(p.amount), 0)
を使用します 。 - モード値を含む参照テーブルを検討することをお勧めします。