Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Problem z stworzeniem zapytania
Forum PHP.pl > Forum > Bazy danych
GreenGo
Witam mam problem ze stworzeniem zapytania, które zwróciło by mi chciany wynik, oto tabele:

  1. Rezerwacje:
  2. ________________________________________________________________
  3. |id_rezerwacji | id_pokoju | dzien_rezerwacji | ilosc_zarezerwowanych_lozek|
  4. 145 15 20-02-2013 2
  5. 145 15 20-03-02013 3
  6.  
  7. Pokoje:
  8. ________________
  9. |ID|naza_pokoju|
  10. 15 pokoj_1
  11.  
  12. Dane pokoju:
  13. ____________________________
  14. ID|id_pokoju|meta_key|meta_value|
  15. 1 15 beds 10
  16. 2 15 price 50


Niestety jest to wordpress i tabel pokoje oraz Dane pokoju: nie moge zamienić.
Cały problem w tym, że dane pokoju zapisywane są nie jako pola lecz jako osobne rekordy.

Efekt jaki chciałbym uzyskać to:
  1. ID_pokoju | nazwa_pokoju | dzień_rezerwacji | suma_zarezerwowanych_łózek_dla_danego_dnia_danego_pokoju | cena_pokoju | ilość_łóżek_w_pokoju


cena_pokoju i ilość_łóżek_w_pokoju to oczywiście beds i price z tabeli dane pokoju

tutaj kolejny problem dla mnie by id pokoju i dzień się nie powatrzały w jedny rekordzie czyli może być kilka tych samych dni ale przy każdym jest inny pokój, tak samo jak może być kilka wystąpień tego samego pokoju ale zawsze w innym dniu.

Byłbym wdzięczy za pomoc smile.gif


EDIT:
rozkminiłem, sory za zamieszanie, można zamknąć
timon27
'rozkminiłem' nie zamyka tematu, ponieważ ktoś inny kiedyś może mieć ten sam problem i się zdenerwuje jak tu przyjdzie z google (zdarzało mi się).

Proponuję najprostrze zapytanie JOIN tych 3 tabel, a rozdzielenie już w php.

Ale jeśli się uprzeć na 1 zapytanie:
Trzeba połączyć JOINem cztery tabele:
- Rezerwacje
- pokoje
- SELECT * FROM Dane pokoju WHERE meta_key=beds
- SELECT * FROM Dane pokoju WHERE meta_key=price
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.