एक समाधान यह है कि एक सबक्वेरी के साथ तारीखें जेनरेट करें, और फिर इस सबक्वेरी को अपनी टेबल के साथ जोड़ें।
यदि आपको केवल पिछले 7 दिनों की आवश्यकता है तो आप इसके साथ प्रयास कर सकते हैं:
select d.testdate, coalesce(t.val1,0), coalesce(t.val2,0)
from
(select current_date as testdate
union all select current_date - interval 1 day
union all select current_date - interval 2 day
union all select current_date - interval 3 day
union all select current_date - interval 4 day
union all select current_date - interval 5 day
union all select current_date - interval 6 day) d
left join tblMyData t
on d.testdate = t.testdate
यदि आप current_date के बजाय तालिका में अंतिम 7 दिन चाहते हैं, तो आपकी क्वेरी इस प्रकार हो सकती है:
select m.m - interval d day, coalesce(t.val1,0), coalesce(t.val2,0)
from
(select max(testdate) as m from tblMyData) m
cross join
(select 0 as d
union all select 1
union all select 2
union all select 3
union all select 4
union all select 5
union all select 6) d
left join tblMyData t
on m.m - interval d day = t.testdate
कृपया एक बेला देखें यहां ।