Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie rekordu z jednej z dwóch tabel
simo_n
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


Cześć, na zadanie z Baz Danych mam napisać coś w stylu prostego systemu rezerwacji, a dokładnie wyświetlanie wiadomości, na temat zmian i mam taki problem:

1. Mam tabele user_post, gdzie przechowuję informację na temat daty i nr rezerwacji
2. Mam tabele rezerwacja z odpowiednimi wartościami
3. Mam tabele archiwum - gdzie lądują rezerwacje po odpowiednim czasie, dodaje jedno pole)
(2 i 3 - w obu tabelach są dokładnie te same dane, tzn id w rezerwacjach i archiwum jest to samo)
Wszystko działa ok.

Teraz chciałem zrobić widok, który łączy mi wiersz z tabeli user_post z odpowiednią rezerwacją. Jeżeli założę że pobieram z archiwum (albo rezerwacji) to działa dobrze. Jednak jak chce zrobić warunek, żeby pobierał mi z tam tąd, gdzie znajduje się wpis, to już nie działa. Próbowałem w taki sposób:

  1. SELECT [wszystkie pola]
  2. FROM post_hotel
  3.  
  4. LEFT JOIN (SELECT IF( licznik =0, 'archive', 'reservation' )
  5. FROM (SELECT COUNT( * ) licznik
  6. FROM reservation
  7. INNER JOIN post_hotel ON reservation.id_reservation = post_hotel.id_reservation
  8. ) AS cos) k ON post_hotel.id_reservation = k.id_reservation
  9.  
  10. LEFT JOIN room ON k.id_room = room.id_room
  11. LEFT JOIN hotel ON room.id_hotel = hotel.id_hotel
  12. LEFT JOIN user ON hotel.id_user = user.id_user;
  13.  


Jak mam tak, to działa:
  1. SELECT [wszystkie pola]
  2. FROM post_hotel
  3.  
  4. LEFT JOIN archive k ON post_hotel.id_reservation = k.id_reservation
  5. LEFT JOIN room ON k.id_room = room.id_room
  6. LEFT JOIN hotel ON room.id_hotel = hotel.id_hotel
  7. LEFT JOIN user ON hotel.id_user = user.id_user;


Bardzo proszę o jakąś podpowiedź.

Ten post edytował simo_n 19.12.2011, 23:48:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 23:49