mysql date_add 2 раза в процедуре

Я хочу использовать Date_add 2 раза в процедуре, но он возвращает 0 строк (в то время как он должен возвращать строки)

Вот процедура

 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;

это работает без date_add

заранее спасибо!

//редактировать

Что у меня сейчас:

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;

Но ab.absentid не извлекается, почему это?:(

1 ответ

Решение

Я не уверен , что именно вы хотите, но на всю неделю попробуйте что-то вроде:

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 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
where av.avCalendarId = KalenderId 
order by avHours;

я использую BETWEEN указать диапазон дат для ap.appointmentdate, av.avDays изменяется либо на корреляцию с ap.appointmentdate или также показать строки без назначения (предполагается, что это поведение, потому что у вас есть LEFT JOIN на tbl_appointment). Я перестал DayOfweek(dag) ... потому что вы смотрите на целую неделю, так что это излишне.

Другие вопросы по тегам