Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL:Werteliste zu einer Tabelle zusammenfügen

In MySQL können Sie die Tabelle mit union all erstellen :

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;

Hinweise:

  • Ich habe name geändert in den mode die Spalte mit den gleichen Informationen hat also den gleichen Namen.
  • Die group by Schlüssel muss vom ersten sein Name, nicht der zweite (das ist m.mode statt p.mode ).
  • Wenn Sie 0 wollen statt NULL , dann verwenden Sie coalesce(sum(p.amount), 0) .
  • Möglicherweise möchten Sie eine Referenztabelle in Betracht ziehen, die die Moduswerte enthält.