Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciagniecie danych z 3 tabel.
Diablos
post 22.05.2007, 00:14:06
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 6
Dołączył: 17.06.2005

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


Witam,

Oto moj problem:

mam 3 tabele:

uzytkownicy ( id, tytul, imie, nazwisko )
rezerwacje ( co, kiedy, userid )
teksty ( tytul, tresc, userid )

O co mi chodzi?
Chce wyciagnac z bazy danych uzytkownika, jego rezerwacje i jego teksty. Jeden uzytkownik moze miec jedna rezerwacje ale kilka tekstów.

Pokaze moje rozumowanie, to do czego doszedlem...
Pierwszy krok jest prosty wyciagam poprostu dane uzytkownika:
[sql]SELECT * FROM uzytkownicy[sql]

Drugi krok, wyciagniecie danych uzytkownika i rezerwacje
[sql]SELECT * FROM uzytkownicy u, rezerwacje r WHERE u.id = r.userid[sql]

Juz tutaj mam problem, bo nie wyciaga uzytkownikow ktorzy nie maja rezerwacji... Jak to poprawic?

Do tego musze dolozyc jednoczesne wyciagniecie tekstów. Kazdy uzytkownik moze miec kilka tekstow... na podobnej zasadzie jak wyciaganie z dwoch tabel uzytkownika i rezerwacji udalo mi sie to zrobic, ale wyciaga tylko jeden tekst zamiast kilku. Nie potrafie jednak zrobic wyciagania danych z dwoch tabel, z pierwszej jedna rzecz a z drugiej kilka. Da sie tak zrobic w ogole? tongue.gif Moze jakas podpowiedz? snitch.gif

Poza tym jest konflikt nazw pól. Tytul w tekstach i tytul w uzytkownikach. Jeden "zapisuje sie" przy wyciaganiu na drugi.. da sie to jakos wyeliminowac?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
prond
post 22.05.2007, 08:29:17
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Użyj OUTER JOIN, mniej więcej tak to by wyglądało :
  1. SELECT *
  2. FROM uzytkownicy u
  3. LEFT OUTER JOIN rezerwacje r
  4. ON (u.id = r.userid)
  5. LEFT OUTER JOIN teksty t
  6. ON (u.id = t.userid);


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:49