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.modep.mode. के बजाय )।- यदि आप चाहते हैं
0NULL. के बजाय , फिर उपयोग करेंcoalesce(sum(p.amount), 0)। - आप एक संदर्भ तालिका पर विचार करना चाह सकते हैं जिसमें मोड मान शामिल हैं।