Ако вашите products имат start_date и end_date и вашата заявка има qstart_date и qend_date , тогава искаме броя на дните между:
GREATEST(start_date, qstart_date)
и
LEAST(end_date,qend_date)
. В MySQL мисля, че това изглежда като
1 + DATEDIFF ( 'd' , GREATEST(start_date, qstart_date) , LEAST(end_date,qend_date) )
И ще искате да игнорирате отрицателните числа, като ги замените с „0“.