Bạn có thể liệt kê ngày tháng dưới dạng bảng giả dẫn xuất (với UNION
) và sau đó kết hợp nó với dữ liệu của bạn
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)
Chỉnh sửa:đã thêm COALESCE
để trả về 0
thay vì NULL
về hồ sơ bị thiếu.