J'ai deux tables produit et les réservations, je veux récupérer tous les produits qui ne sont pas inclus dans un intervalle de date, je suis en utilisant une jointure gauche pour atteindre les réserves liées à un produit spécifique, la question est que je dois filtrer par plage de dates, et de retourner tous les produits qui ne sont pas inclus dans cette gamme, il existe plusieurs produits, et dans la plupart des cas, les produits ne sont pas liées à toute réserve, je suis un peu perdu avec ceci:
SELECT
p.idProduct, p.name, p.description, p.latitude, p.longitude, p.address,
p.qualification, p.favourite,p.idCategory,p.idCity, p.rules, p.health, p.politics,
r.idReservation
FROM
product p
LEFT JOIN
city c ON c.idCity = p.idCity
LEFT JOIN
reservation r ON r.idProduct = p.idProduct
WHERE
p.idCity = 1
AND ((r.endDate < '2021-11-20' AND r.startDate< '2021-11-28')
OR
(r.endDate > '2021-11-28' AND r.startDate > '2021-11-20'));
Dans ce cas, par exemple, il n'y a pas de réservations sur ces dates, mais il y a plusieurs produits, qui n'a pas un rapport avec toute réserve.
Un produit qui pourrait être lié à zéro ou plusieurs réserves.
J'apprécierai tout soupçon à ce sujet.