Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] laczenie tabel o roznych kolumnach
modziar
post 3.06.2011, 11:41:56
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.02.2011

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


Witam

Tabela 1
ID |a |b| c |d |e
1 |2| 3| 4| 5 |6
3 |d|d | d|d |d

Tabela 2
UID |r | t | y| u | i | O
1 |7 |1c| f |dsd|w|234

Tabela 3
O | a | f | g | h
234|7e|4e|3e|e

W jednym zapytaniu chcę pobrać dane

Z tabeli jeden gdzie ID=1 (cde)
Z tabeli 2 gdzie ID z pierwszej =UID z drugiej(u,i)
Z tabeli 3 gdzie O=O z tabeli drugiej(f,g,h)

Czyli chcę taki wynik

c|d|e |u | i |f |g |h
4|5|6|dsd|w|4e|3e|e

Oczywiście standardowo szukałem w różnych źródłach ale jakoś tego nie łapię,oprócz rozwiązania byłbym bardzo wdzięczny za wytłumaczenie
ponieważ chcę to umieć i rozumieć,najlepiej na różnych przykładach,zdaje się że chodzi o JOIN ale nie wiem jak tego użyć po przeczytaniu tych wszystkich kursów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Hpsi
post 3.06.2011, 11:59:15
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Ogólnie jeśli dobrze zrozumiałem twój pomysł masz tak
Tabela 1 - kolumna ID jest kluczem do Tabeli 2 (uid) a z tabeli 2 klucz do tabeli 3 to O

Nie jestem b. dobry w tłumaczeniu ale spróbuje ci to wytłumaczyć smile.gif
Do łączenia używasz JOIN (left join, right join, join) w moim przypadku użyje left joina, komunikujamy się między tabelami dzięki kluczą (komenda w sql ON) jak już wcześniej wspomniałem ID -> UID -> O -> o
  1. SELECT `tabela`.`c`, `tabela`.`d.`, `tabela`.`e`, `tabela2`.`u`, `tabela2`.`i`, `tabela3`.`f`, `tabela3`.`g`, `tabela3`.`h`
  2. FROM `tabela 1` AS `tabela`
  3. LEFT JOIN `tabela 2` AS `tabela2` ON `tabela`.`id`=`tabela2`.`UID`
  4. LEFT JOIN `tabela 3` AS `tabela3` ON `tabela2`.`O`=`tabela3`.`O`


Pamiętaj, że używając JOINa musisz mieć jakieś klucz, wg którego chcesz się łączyć między tabelami

Ten post edytował Hpsi+ 3.06.2011, 12:00:35


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 15:31