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)
। - आप एक संदर्भ तालिका पर विचार करना चाह सकते हैं जिसमें मोड मान शामिल हैं।