我想提取具有空的bookingId的記錄並獲得最長未預訂的日期(從第一個空閒日)。預期的結果應該是:使用mysql查找與日期的差距
id = 1, 2013-08-03, 7 days free
id = 1, 2013-08-24, 7 days free
id = 2, 2013-08-07, 10 days free
id = 2, 2013-08-24, 7 days free
最好的事情是,如果我還可以查詢一個空閒的時間段:例如查詢1,2,3,4,5,6,7..14 ..空閒日。這是我的源數據的一個例子:
id bookingDate bookingId
--------------------------------
1 2013-08-03 0
1 2013-08-04 0
1 2013-08-05 0
1 2013-08-06 0
1 2013-08-07 0
1 2013-08-08 0
1 2013-08-09 0
1 2013-08-10 112
1 2013-08-11 112
1 2013-08-12 112
1 2013-08-13 112
1 2013-08-14 112
1 2013-08-15 112
1 2013-08-16 112
1 2013-08-17 112
1 2013-08-18 112
1 2013-08-19 112
1 2013-08-20 112
1 2013-08-21 112
1 2013-08-22 112
1 2013-08-23 112
1 2013-08-24 0
1 2013-08-25 0
1 2013-08-26 0
1 2013-08-27 0
1 2013-08-28 0
1 2013-08-29 0
1 2013-08-30 0
1 2013-08-31 0
2 2013-08-03 78
2 2013-08-04 78
2 2013-08-05 78
2 2013-08-06 78
2 2013-08-07 0
2 2013-08-08 0
2 2013-08-09 0
2 2013-08-10 0
2 2013-08-11 0
2 2013-08-12 0
2 2013-08-13 0
2 2013-08-14 0
2 2013-08-15 0
2 2013-08-16 0
2 2013-08-17 39
2 2013-08-18 39
2 2013-08-19 39
2 2013-08-20 39
2 2013-08-21 39
2 2013-08-22 39
2 2013-08-23 39
2 2013-08-24 0
2 2013-08-25 0
2 2013-08-26 0
2 2013-08-27 0
2 2013-08-28 0
2 2013-08-29 0
2 2013-08-30 0
2 2013-08-31 0
如果任何人有更好的數據結構的好主意,我可以嘗試實現。該數據庫尚在建設:-)
編輯:
CREATE TABLE IF NOT EXISTS `pricesBookings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`baseId` int(11) NOT NULL,
`bookingDate` date NOT NULL,
`bookingId` int(11) NOT NULL,
`price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `baseId` (`baseId`,`bookingDate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
喜ü可以給我..........創建查詢和插入查詢..........創建數據庫......我會盡我所能 –
我已經在發佈之前添加了它。提前致謝。 – Stefan