Autor Zpráva
freddy
Profil *
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 *
Pridej sluvko left.
... LEFT JOIN ...
freddy
Profil *
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
Zkuste si rychlost změřit. Bude tam nejspíše minimální rozdíl.
freddy
Profil *
To se nedá změřit. Jednou mám počítač silnější a jindy pomalejší. Co si myslíte, že je lepší?
Kajman
Profil
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?

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: