Autor Zpráva
Lopyn
Profil
čau, chtěl bych poprosit o radu jak dostat vypsat hodnoty z DB při spojování tabulek...
tady je dotaz na DB: $query = "SELECT * FROM kosik JOIN user JOIN download d ON (user.id=kosik.id_user)";
potřebuju vypisovat i z tabulky download, tak nevím zda jsem to napsal správně...Řešení by bylo 3x query na DB ale to takhle nechci dělat. Díky
djlj
Profil
echo $pole['sloupec'];
Lopyn
Profil
to sem nečekal že to bude stejný jako u normálního výpisu...díky
xHire
Profil
Z tvého dotazu nevyplývá, co máš za databázi (občas se syntaxe může mírně lišit), ale z toho tvého SQL dotazu nejsem moudrý. Budu předpokládat, že to byl jenom nějaký tvůj pokus pro MySQL. ;c)

Joinů je celá řada - přinejmenším LEFT, RIGHT a INNER. Každý funguje trošku jinak, ale přesně ti jejich fce popsat nedovedu - zas až tolik SQLku nerozumím - jenom do té míry, kde dokážu řešit všechny své problémy alespoň trochu elegantně. ;c)

Správně by to mohlo vypadat např. takhle: SELECT * FROM kosik as k LEFT JOIN user as u, download as d ON u.id = k.id_user;

Nevím, jakou to má plnit funkci, takže je i možné, že ti to nebude vracet přesně to, co potřebuješ (předně tu nevidím ono propojení s tabulkou download (!!!)). Trochu to rozveď.

Vedle té hvězdičky bys měl přesně pojmenovat sloupce, které se v tabulkách jmenují stejně, takže abys dostal opravdu všechny hodnoty a zároveň věděl, ze které tabulky která je.

Dál pak už pokračuj podle svého programovacího jazyka (který jsi neuvedl), jak jsi zvyklý.
Lopyn
Profil
a když mám identický 2 sloupce, tak se běžně používá tabulka.sloupec...ale tady to takhle nejde. dělá se to snad jinak? díky
Lopyn
Profil
xHire jj diky
Vedle té hvězdičky bys měl přesně pojmenovat sloupce, které se v tabulkách jmenují stejně, takže abys dostal opravdu všechny hodnoty a zároveň věděl, ze které tabulky která je. takže by to bylo takhle. SELECT * kosik.nazev as bla, user.nazev as us FROM kosik? mám pocit že to lze používat i bez "as"...a co se týče spojování tabulek, tak sem to nikdy nepotřeboval, ptz sem nedělal nic složitějšího...
xHire
Profil
as tuším není vyžadováno, ale já ho používám, protože to je přehlednější. Tvůj příklad by měl vypadat (pokud bych použil aliasy z mého pojmenování výše): SELECT *, k.nazev as nazev_kosiku, u.nazev as nazev_usera ... (chyběla čárka)

Mrkni kdyžtak do manuálu - pro verzi 5.0 třeba tady: http://dev.mysql.com/doc/refman/5.0/en/join.html. Je to tedy anglicky... V češtině toho asi moc nenajdeš, ale zkusit to můžeš (google). ;c)
Lopyn
Profil
jj dik
Toto téma je uzamčeno. Odpověď nelze zaslat.