i want to use Date_add 2 times in a procedure, but it returns 0 rows (while it should return rows)
Here is the procedure
select av.*, ap.*,c.* from tbl_available av
left join tbl_appointment ap on av.avHours = ap.appointmenttime
and ap.calendarid = kalenderId
and ap.appointmentdate = DATE_ADD(dag, INTERVAL 6 DAY)
left join tbl_client c on ap.clientid = c.clientid
where av.avCalendarId = KalenderId
and av.avDays = DayOfweek(DATE_ADD(dag, INTERVAL 6 DAY))
order by avHours;
it works without the date_add
thanks in advance!
//edit
What i have now:
select av.*, ap.*,c.*, ab.absentid from tbl_available av
left join tbl_appointment ap on av.avHours = ap.appointmenttime
and ap.calendarid = kalenderId
and ap.appointmentdate BETWEEN dag AND DATE_ADD(dag, INTERVAL 6 DAY)
and (av.avDays = DayOfweek(ap.appointmentdate) OR ap.appointmentdate IS NULL)
left join tbl_client c on ap.clientid = c.clientid
left join tbl_absent ab on av.avHours = ab.ababsent
and ab.abHoliday = dag
and ab.abCalendarID = kalenderId
where av.avCalendarId = kalenderId
order by avDays,avHours;
But the ab.absentid is not fetched, why is that? 🙁
I’m not sure exactly what you want, but for the whole week, try something like:
I’m using
BETWEENto specify the date range forap.appointmentdate. Theav.avDaysis changed to either correlate toap.appointmentdateor also show rows with no appointment (assumed this behavior because you have aLEFT JOINontbl_appointment). I have left offDayOfweek(dag) ...because you are looking at a whole week so this is redundant.