Avec cette requête, je vais trouver tous les appartements disponibles. Tous les appartements disponibles n'ont pas de numéro de réservation.Obtenir des appartements disponibles
Ce que je veux: Quand il a un numéro de réservation et le statut est annulé, je veux aussi l'appartement pour montrer, mais je ne sais pas comment ...
SELECT a.id, a.num_persons, a.rating, a.lat, a.lng, a.street, a.number
,c.title, c.introduction, c.text, c.area, c.long_term_rental, c.beds
, c.features ,c.services_and_equipment, c.terms_and_conditions
, m.url
FROM appartments AS a
INNER JOIN appartments_content AS c on c.parent_id = a.id
INNER JOIN meta AS m on m.id = c.meta_id
LEFT JOIN appartments_bookings AS b
ON (b.appartment_id = a.id
AND NOT ((? > b.departure) OR (? < b.arrival)))
-- this ? = arrival that ? = departure
WHERE b.id IS NULL
AND c.language = ?
AND a.hidden = ?
AND a.publish_on <= ?
AND a.city_id = ?
AND a.num_persons >= ?
ORDER BY a.num_persons ASC, a.publish_on DESC
LIMIT ? OFFSET ?'
J'ajouté ceci:
AND b.status != ? OR NOT ((? >= b.departure) OR (? < b.arrival))) WHERE b.order_id IS NULL
Mais cela ne fonctionne pas, je reçois des résultats de nog.
Peut-être devriez-vous inclure les définitions des appartements, appartments_content et appartments_bookings dans votre question. – jan
donner la structure des données, j'ai oublié mon globe de cristal à la maison aujourd'hui: P –