Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] pobieranie danych z 3 tabel
bajeczka
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.11.2006

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


Witam, proszę o pomoc z zapytaniem pobierającym dane z 3 tabel. Wygląda to mniej więcej tak:

tabela1:
id
nazwa
typ

tabela2:
id
tabela1_id
nazwa
wartosc

tabela3:
tabela1_id
nazwa

Do 1 rekordu z tabeli1 może być przypisanych wiele z tabeli2 i jeden z tabeli3.

Mam takie zapytanie:
  1. SELECT * FROM tabela1, tabela2, tabela3
  2. WHERE tabela1.id = tabela.tabela1_id AND tabela1.typ = tabela3.tabela1_id


Lecz zwraca ono powtarzające sie wiersze z tabeli1 gdy w tabeli2 jest przypisany więcej niż 1 rekord.
Co zrobić żeby dołączało ono rekordy z tabeli2 do jednego wyniku tabeli1, bez powtarzania tego samego dodając tylko końcówki nazwa i wartość którymi się różnią te wyniki ? Można to w ogóle zrobić z poziomu zapytania ?

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


mozna
wtedy uzywa sie innych łączeń
left join, right join, inner join


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
bajeczka
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.11.2006

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


Hmm..

Próbowałem z LEFT JOIN, INNER JOIN takie zapytanie:

  1. SELECT * FROM tabela1 LEFT JOIN tabela2 ON (tabela2.tabela1_id = tabela1.id) LEFT JOIN tabela3 ON (tabela3.tabel1_id = tabela1.typ)

  1. SELECT * FROM tabela1 INNER JOIN tabela2 ON (tabela2.tabela1_id = tabela1.id) INNER JOIN tabela3 ON (tabela3.tabela1_id = tabela1.typ)


Jednak to też zwraca powtarzające się rekordy.
Mógłbyś podać jakiś przykład nawet z dwoma tabelami, żeby nie powtarzało za każdym razem rekordu z tabela1 tylko dodawało do niego rekordy z tabela2 ?

Dzięki, bajeczka

Ten post edytował bajeczka 7.09.2007, 19:43:00
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


nie wiem, moze zle cie zrozumialem.
poslij export z tej bazy (wraz z danymi).
moze trezeba jakies warunki wstawic?smile.gif


--------------------
aplikacje internetowe | Symfony
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 Aktualny czas: 21.08.2025 - 06:22