Autor Zpráva
Robbie
Profil *
Zdravim , chci se optat , jak napsat prikaz v sql right join , left join pro vice jak dve tabulky. Vsude na prikladech je join se dvema tabulkama.
Nikde nemohu nic poradneho-navod najit. Dekuji
Keeehi
Profil
SELECT *
FROM tabulka1
LEFT JOIN tabulka2 ON tabulka1.sloupec_pro_join = tabulka2.sloupec_pro_join
LEFT JOIN tabulka3 ON tabulka1.sloupec_pro_join = tabulka3.sloupec_pro_join

Ten druhý join tabulky 3 klidně může být na nějaký sloupec tabulky 2. Pak by to vypadalo takto
LEFT JOIN tabulka3 ON tabulka2.sloupec_pro_join = tabulka3.sloupec_pro_join
Samozřejmě sloupce přes které se join provádí se mohou jmenovat různě a taky v druhém joinu mohou být uvedené jiné sloupce než v prvním.
robbie
Profil
Keeehi:
nevim, jestli neni nekde chyba, napsal jsem tento kod

SELECT * FROM `winners` LEFT JOIN `vyhra` ON `winners`.`prijmeni` = `vyhra`.`vyhra`
LEFT JOIN `vip` ON `winners`.`prijmeni` =`vip`.`dulezitost`

,kde winners, vyhra, vip - jsou tabulky
a kde
winners.prijmeni-sloupec z 1ni tabulky, vyhra.vyhra-sloupec z 2hé tabulky a vip.dulezitost-sloupec z 3tí tabulky a ty bych potreboval vedle sebe pomoci JOIN.


,ale vypise mi to komplet celou tabulku winners se všemi hodnotami-chtěl jsem jen sloupec prijmeni, vedle ni tabulku vyhry, ale vsechny hodnoty jsou NULL a vedle celou tabulku vip a opet vsechny hodnoty jsou NULL. To není uplne dobře ale. Nejaká rada prosim.
juriad
Profil
robbie:
SELECT <jaké sloupce z jakých tabulek chceš>
FROM tabulka1
(LEFT) JOIN tabulka2 ON <jak souvisí tabulka2 s tabulkou1>
(LEFT) JOIN tabulka3 ON <jak souvisí tabulka3 s tabulkou1 nebo tabulkou2>

Vyber všechno z výherců propojené s výhrou za podmínky, že příjemní je shodné s výhrou, a dále propojené s VIP za podmínky, že příjmení je stejné jako důležitost. Dává to smysl? Ne.
robbie
Profil
juriad:
super, skvělý, už to fachčí. Díky moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0