Vous pouvez énumérer les dates sous forme de pseudo-table dérivée (avec UNION
) puis joignez-le à vos données
SELECT dates.date, COALESCE(attendance.total,0) AS total FROM (
SELECT '2012-07-02' AS date
UNION ALL SELECT '2012-07-03'
UNION ALL SELECT '2012-07-04'
) AS dates
LEFT JOIN attendance USING(date)
Modifier :ajout de COALESCE
pour retourner 0
au lieu de NULL
sur les enregistrements manquants.