Potřebujete left join
spíše než right join
nebo můžete také změnit pozici tabulek
SELECT sum(steps), date(from_unixtime(td.db_date)) as stepdate
FROM time_dimension td
LEFT JOIN userdata u
ON date(from_unixtime(u.in_date)) = td.db_date
WHERE user_id = 8
GROUP BY date(from_unixtime(td.db_date))
ORDER BY stepdate DESC;
To však předpokládá time_dimension
stůl považován za kalendářový stůl.