Autor Zpráva
Radim
Profil *
Prosím o radu. Nevím jestli to v mysql jde udělat:
Mám dvě tabulky. V jedné jsou uloženi registrovaní uživatelé a v druhé jsou uloženy inzeráty, které každý z nich uložil.
Když dá náhodný návštěvník vyhledat určité inzeráty, chtěl bych pracovat také s tou druhou tabulkou, ve které je uložen zbytek informací (jako email, nick apod.).
Dá se to udělat tak, abych odkazoval z pole $inzerat na pole $user, aniž bych musel dávat SELECT * FROM users WHERE ... ? to bych přece musel pro každý inzerát znovu dávat select, a to by podstatně zdržovalo...
Teda hádal bych, že k tomu mají sloužit primární klíče, ale jak to odkázat?
Dík za odpověďi
djlj
Profil
SELECT inzerty.text,users.nick,users.email FROM inzeraty INNER JOIN users ON inzerat.user_id=users.id


nějak takto..
Radim
Profil *
Díky zkusím to, ty primární klíče tam teda musím mít, jinak by to nefungovalo?
Radim
Profil *
Já jsem to někde už viděl s těma tečkama a nevěděl jsem co to znamená... a říkal jsem si že to možná bude hrát roli...
Radim
Profil *
A co znamená to INNER JOIN ... ON ... ?
djlj
Profil
Radim
No u users bych dal každýmu uživateli svoje unikátní ID...

K tomu INNER JOIN - nevím, jak bych to vysvětlil...
Prostě to vybere z obou tabulek jen pokud to najde uživatele v users... asi tak nějak :)
Když by tam bylo LEFT JOIN, tak to vybere inzerát bez ohledu na to, jestli k němu existuje uživatel v tabulce users.. no a RIGHT JOIN je to samý, ale opačně...

Snad se to z toho dá pochopit :)
Radim
Profil *
Jo, díky. Já jsem to už psal jinde, ale mě by se hodil nějaký manuál v češtině, kde by se právě dali tyhle základní věci najít, nevíš kde na netu?
djlj
Profil
http://mm.gene.cz ;)
Radim
Profil *
Super ! to je ono!
Radim
Profil *
ten příkaz inner join funguje díky za radu
Toto téma je uzamčeno. Odpověď nelze zaslat.

0