Witajcie,
mam pytanko odnośnie rezerwacji terminu w bazie danych hotelu, a dokładniej mam problem jak sprawdzić, czy dany pokój jest dostępny w podanym przeze mnie terminie. Został wybrany do sprawdzenia termin 16-21.01.2018. Mój kod wygląda następująco:
#Mój kod:
select id_rezerwacje, case when data_przyjazdu<'2018-01-16' and data_wyjazdu>'2018-01-21' then 'zajęty' else 'wolny' end as dostepnosc from rezerwacje;
#Moja tabela dotycząca rezerwacji:
create table rezerwacje (
id_rezerwacje int auto_increment,
data_przyjazdu date not null,
data_wyjazdu date not null,
id_goscia int,
id_nr_pokoju int,
id_rplatnosci int,
primary key(id_rezerwacje)
);
#I uzupełnione dla niej rekordy:
insert into rezerwacje values (1, '2018-01-15', '2018-01-21', 4, 1, 2);
insert into rezerwacje values (2, '2018-01-15', '2018-01-28', 5, 9, 2);
insert into rezerwacje values (3, '2018-01-22', '2018-01-28', 1, 1, 1);
insert into rezerwacje values (4, '2018-01-15', '2018-01-19', 8, 3, 2);
insert into rezerwacje values (5, '2018-01-19', '2018-01-21', 2, 7, 1);
insert into rezerwacje values (6, '2018-01-22', '2018-01-26', 3, 10, 1);
insert into rezerwacje values (7, '2018-01-17', '2018-01-23', 6, 6, 1);
insert into rezerwacje values (8, '2018-01-18', '2018-01-25', 7, 4, 1);
Co w moim kodzie jest nie tak? Dlaczego większość terminów pokazuje mi jako 'wolne', mimo że są 'zajęte'?
Na razie chcę się skupić nad samą datą, jak w to wpleść rodzaj pokoju zastanowię się, jak rozwiążę obecny problem
Pozdrawiam