hej
A jak zrobić zapytanie w MySQL aby wypisywalo mi z bazy dostepne pokoje w zadanym jakims terminie. np. chce sprawdzic czy jest i jesli tak to jakie pokoje sa dostepne w terminie od 01.02 do 02.02 na przykład - chce aby wypisywalo mi pokoj, numer pokoju, cene.
Bardzo prosze o pomoc. Rzecz jasna zapytanie odnosi sie do bazy w fotce.
edit-----------
Zrobiłem za pomocą jednego posta z tego forum i kilku artykułów na necie zapytanie
przypomina schemat bazy (troche zmieniona)
(pokoje)
- id_pokoju
- numer_pokoju
- ilosc_osob
-cena
-uwagi
(rezerwacje)
- id_rezerwacji
- id_klienta
- id_pokoju
- data_od
- data_do
- ilosc_osob
- kwota
- czy_zaplacone
Zapytanie jest następujące:
SELECT numer_pokoju, cena,
IF (
mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '2010-02-11',
mid( group_concat( data_do ORDER BY data_od DESC separator ' ' ) , 1, 10 ) ,
mid( group_concat( data_do ORDER BY data_do DESC separator ' ' ) , 12, 10 )) AS wolna_data_od,
IF (
mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '2010-02-11', '~',
mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 )) AS wolna_data_do
FROM pokoje LEFT JOIN rezerwacje USING ( id_pokoju )
WHERE data_od < '2010-02-11' OR data_do >= '2010-02-11' OR data_do IS NULL
GROUP BY numer_pokoju
Przeszukuje mi to baze danych i wypluwa w zadanym terminie pokoje - ALE wyświetla wszystkie pokoje - te zarezerwowane i te wolne wraz z datami.
Próbka tego co daje na wyjściu:(te pauzy zastępują spacje)
Cytat
numer_pokoju cena wolna_data_od wolna_data_do
1------------------25-----------------------~
2------------------25---NULL---------------NULL
3------------------25---2010-02-11-------2010-02-12
4------------------25---NULL---------------NULL
5------------------35-----------------------2010-02-11
6------------------35---NULL---------------NULL
Jak zmienic zapytanie aby wyświetlało mi tylko i wyłącznie numery pokoi wraz z cena WOLNYCH POKOI


(moze byc bez zakresu od kiedy o kiedy)
A może trzeba coś dodać jeszcze do bazy?? No i nie wiem czy dobrze grupuje na samym końcu zapytania
Prosze o pomoc bo stanąłem w jednym punkcie