Autor | Zpráva | ||
---|---|---|---|
freddy Profil * |
#1 · Zasláno: 31. 1. 2014, 12:26:40
Zdravím superkodery,
pořád se učím a join mi zaím dělá problémy. Chci se zeptat jak sestavit dotaz nezavysle na dalších tabulkách. Jak to mám teď je to sice správně provázané, ale pokud se nenajde záznam v jedné znich, tak výsledek je nula. mysql_query("SELECT us.id,us.ucet,us.kraj,us.nick,us.mail,us.posledni_pristup,do.overeni,do.dodaci_lhuta,do.reklamace,do.podminky,ho.hodnoceni FROM user us JOIN user_dodatek do ON us.id = do.id_user JOIN hodnoceni ho ON us.id = ho.id_user WHERE us.id='".$row["id_user"]."'"); Tabulka user vždy bude existovat, ale ty dvě další již nemusí a to je problém, že mi pak nevypíše ani tu hlavní s uživatelem. Ví někdo jak to udělat aby když ty jedna stěch dvou nebo obojí neexistují, tak aby vypsal alespon toho uživatele? Děkuji |
||
juriad_ Profil * |
#2 · Zasláno: 31. 1. 2014, 12:29:05
Pridej sluvko left.
... LEFT JOIN ... |
||
freddy Profil * |
#3 · Zasláno: 31. 1. 2014, 12:54:43 · Upravil/a: freddy
Takové kouzelné slovíčko a jak to rozběhne. Děkuji
Jen se chci zeptat, když by jsem to naporcoval na jednotlive dotazy. Byl by nějaký rozdíl v zátěži/rychlosti? |
||
Kajman Profil |
#4 · Zasláno: 31. 1. 2014, 13:31:17
Zkuste si rychlost změřit. Bude tam nejspíše minimální rozdíl.
|
||
freddy Profil * |
#5 · Zasláno: 31. 1. 2014, 13:52:53
To se nedá změřit. Jednou mám počítač silnější a jindy pomalejší. Co si myslíte, že je lepší?
|
||
Kajman Profil |
#6 · Zasláno: 31. 1. 2014, 14:43:57
freddy:
„To se nedá změřit. Jednou mám počítač silnější a jindy pomalejší.“ Změřte si rychlost na stejném počítači. Obecná odpověď neexistuje - je třeba změřit tento select, pokud Vás to tolik zajímá. „Co si myslíte, že je lepší?“ viz [#4] a join nebo klasika? |
||
Časová prodleva: 11 let
|
0