Jeśli wykonamy minimum wszystkich transakcji według klienta, sprawdź, czy jest to właściwy okres, otrzymujemy coś podobnego do...
To po prostu da ci flagę tak/nie, czy pierwszy zakup klienta miał miejsce w okresie...
SELECT CASE COUNT(*) WHEN 0 THEN 'Yes' ELSE 'No' END As [WasFirstTransInThisPeriod?]
FROM (
SELECT bb_member.member_id As [member_id], MIN(bb_transactions.trans_tran_date) AS temp_first_time
FROM bb_business
RIGHT JOIN bb_transactions ON bb_transactions.trans_store_id = bb_business.store_id
LEFT JOIN bb_member ON bb_member.member_id = bb_transactions.trans_member_id
WHERE bb_business.id = '5651'
GROUP BY bb_member.member_id
) T
WHERE T.temp_first_time BETWEEN '2010-08-01' AND '2010-09-13'
ORDER BY T.member_id DESC
(jest to w T-SQL, ale miejmy nadzieję, że powinno dać wyobrażenie o tym, jak można to osiągnąć podobnie w mySQL)
Szymon