Bonjour, voila j'ai un souci au niveau d'un contrôle de disponibilité dans mysql
Pour mieux comprendre:
Je fais une requete me permettant de récupérer les id des chambres ne se trouvant pas dans cet enregistrement(chambre_id) et sur la plage des date arrivée(date_ar) et date départ(date_dep) le souci est que ma requete me retourne aussi les id qui se trouvent dans cette table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 (`id`, `nom`, `prenom`, `adresse`, `code_postal`, `ville`, `telephone`, `fax`, `email`, `tarif_id`, `chambre_id`, `date_ar`, `date_dep`, `created_at`, `pay`, `num_pay`, `mode`, `promotion_id`)VALUES (79, 'résa promo 3', 'mathieu', '78 rue des test', '57000', 'metz', '060000008', '', 'mb@gmail.com', 0, 10, '2012-03-23', '2012-03-26', '2012-03-22', 0, '', 'carte', 4), (61, 'Designe', 'Franck', 'lamartine', '31000', 'labast', '00.00.00.00.00', '', 'fran@hotmail.fr', 1, 14, '2012-03-18', '2012-03-24', '2012-03-14', 0, '', 'carte', 0),
Auriez-vous une solution?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT a.id_tarif, a.ch_title_tarif, b.* FROM jos_fs_tarif AS a INNER JOIN jos_fs_chambre AS b ON a.ch_title_tarif = b.ch_title_tarif WHERE ( a.id_tarif = 1) AND b.id NOT IN (SELECT chambre_id FROM jos_fs_reservation WHERE ('2012-03-26' BETWEEN date_ar and date_dep) AND ('2012-03-23' BETWEEN date_ar and date_dep) AND ('2012-03-23' <= date_ar AND '2012-03-23' >= date_dep)) GROUP BY b.ch_identique ORDER BY a.ch_title_tarif
Franck
Partager