Wenn Sie sagen, dass noattend eine Tabelle mit einer Zeile für jedes Datum ist, sollten Sie es in der WHERE-Klausel verwenden:
WHERE noattend.date2 BETWEEN (.....
Und ich denke, es ist klarer, LEFT JOIN :
zu verwendenSELECT *
FROM noattend
LEFT OUTER JOIN attend ON (attend.date = noattend.date2 AND attend.customerid =1)
WHERE noattend.date2
BETWEEN '2010-02-01'
AND '2010-04-01'
ORDER BY date DESC
LIMIT 0 , 30