यदि आप कहते हैं कि noattend प्रत्येक तिथि के लिए एक पंक्ति वाली तालिका है, तो आपको इसका उपयोग WHERE क्लॉज में करना चाहिए:
WHERE noattend.date2 BETWEEN (.....
और मुझे लगता है कि लेफ्ट जॉइन का उपयोग करना अधिक स्पष्ट है:
SELECT *
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