sql >> Databáze >  >> RDS >> Mysql

MYSQL:Spojte seznam hodnot do tabulky

V MySQL můžete tabulku sestavit pomocí 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;

Poznámky:

  • Změnil jsem name do mode takže sloupec se stejnými informacemi má stejný název.
  • group by klíč musí být z prvního jméno, nikoli druhé (to je m.mode místo p.mode ).
  • Pokud chcete 0 místo NULL a poté použijte coalesce(sum(p.amount), 0) .
  • Mohli byste zvážit referenční tabulku, která obsahuje hodnoty režimu.



  1. ODBC 4.0

  2. Dotaz MySQL pro výběr výsledků s automatickým přírůstkem jako nový sloupec přidaný do výsledku

  3. Databázové modely pro elektronický obchod Část 1:Newsletter

  4. Jak mohu vytvořit tabulku v MySQL s názvem order?