Chciałbym wydobyć rekordy z pustym numerem identyfikacyjnym bookingId i uzyskać maksymalne dni bez rezerwacji (od pierwszego darmowego dnia). Oczekiwany wynik powinien wynosić:Znajdź luki w datach za pomocą 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
Najlepiej byłoby, jeśli mogę również poprosić o bezpłatny przedział czasowy: np. zapytanie o 1,2,3,4,5,6,14 dni wolne. To jest przykład moich danych źródłowych:
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
Jeśli ktoś ma dobry pomysł na lepszą strukturę danych, mogę spróbować wdrożyć. Baza danych jest jeszcze w budowie :-)
EDIT:
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;
hi u może mi dać the .......... utwórz zapytanie i wstaw zapytanie .......... aby utworzyć bazę danych ...... postaram się jak najlepiej –
Dodałem go w poście przed . Z góry dziękuję. – Stefan