CREATE TABLE `bookrent` (
`id` int(11) NOT NULL auto_increment,
`bill` varchar(10) NOT NULL,
`d_in` date NOT NULL,
`d_out` date NOT NULL,
`d_pay` date NOT NULL,
`pay` varchar(10) NOT NULL,
`bookrent` varchar(1) NOT NULL default 'N',
`stay` varchar(1) NOT NULL default 'N',
`payment` varchar(10) NOT NULL,
`d_payment` date NOT NULL,
`remark` varchar(200) NOT NULL,
`datere` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
SELECT * FROM `bookrent` where `d_in` BETWEEN '2011-09-15' and '2011-09-17' ก็จะรู้ว่าห้องไม่ว่าง id 1 แต่ถ้า
SELECT * FROM `bookrent` where `d_in` BETWEEN '2011-09-16' and '2011-09-17' id 1 ไม่เข้าเงือนไข
SELECT * FROM `bookrent` where `d_in` BETWEEN '2011-09-12' and '2011-09-14' or `d_out` BETWEEN '2011-09-12' and '2011-09-14' แบบนี้มัถูกหรือป่าวครับ
เลยไม่รู้ว่าจะ SELECT ยังไง
ตัวอย่าง
นาย ก จะจองห้องวันที่ 2011-09-12 ถึง 2011-09-14 แล้วจะเอาไปเช็คกับ d_in และ d_out ยังไงให้รู้ว่าห้องไม่ว่าง
SELECT * FROM `bookrent` where `d_in` BETWEEN '2011-09-12' and '2011-09-14' or `d_out` BETWEEN '2011-09-12' and '2011-09-14' มันจะครอบคลุมหรือเปล่าครับ