Я пытаюсь составить список работников, у которых была первая смена за последнюю неделю.
Прямо сейчас мой SQL работает, если я помещаю определенного работника с первым сдвигом на прошлой неделе в мое предложение where (WHERE c.temp_nr ='XXXX'
), но когда я удаляю это предложение, он просто тайм-аут
SELECT MIN(p.start_date), CONCAT(c.first_name, ' ', c.last_name) AS 'c.fullname', c.temp_nr
FROM contactstable c
LEFT JOIN projectlines p on c.temp_nr = p.candidate_number
WHERE c.temp_nr ='XXXX' and c.contact_type = 'Candidate'
HAVING MIN(p.start_date) between DATE_SUB( CURDATE( ) , INTERVAL (dayofweek(CURDATE())+6)
DAY )
AND DATE_SUB( CURDATE( ) , INTERVAL (dayofweek(CURDATE()))
DAY )