Cita: me interesa que si el dia 23 no encuentra nada me saque la fecha del dia 23 con un 0 como que no ha encontrado nada (o un NULL me es indiferente).
Los DBMS solo pueden trabajar con datos que
existen. SI tu tabla no tiene ningún registro donde la fecha del dia 23 aparezca, no hay modo que devuelva nada, porque no tiene de donde "inventar" un día 23. Y los DBMS no crean dias...
Lo que suele hacerse para solucionar estos casos es crear una tabla temporal con todas las fechas a procesar y usarla en la consulta por medio de un LEFT JOIN.
Yo te aconsejo que lo realices por medio de un stored procedure. Es mucho mas simple y controlable para obtener reportes de esta clase.