Autor Zpráva
VojtaK
Profil *
Potřeboval bych poradit se selectem v db sqlite:
1.tabulka: uid, jmeno (např. 1,Karel | 2,Pepa | 3,Jarda )
2.tabulka: id,text,uid,ruid (např. 1,text1,1,2)

potřebuji, aby select z tabulky 2 vracel místo uid,ruid odpovidajici jmeno.
dostal jsem do následujícího stavu, ale jak to ještě udělat současně i pro ruid jako jmeno2
select *,tabulka1.jmeno as jmeno1 from tabulka2 LEFT JOIN tabulka1 ON (tabulka1.uid=tabulka2.uid)
dik za radu
juriad
Profil
Pokud chceš jednu tabulku připojit vícekrát, musíš ji přidělit alias (občas se přidělují aliasy vždy, i když to není potřeba).
Pro přehlednost tabulky přejmenuji: uživatelé a zprávy.

SELECT z.*, u1.jmeno AS odesilatel, u2.jmeno AS prijemce
FROM zpravy AS z
JOIN uzivatele AS u1 ON z.uid = u1.uid
JOIN uzivatele AS u2 ON z.ruid = u2.uid
Přičemž klíčové slovo AS není nikdy povinné a většinou se vypouští.
LEFT JOIN nepotřebuješ, protože předpokládám, že neexistující uživatel nemůže odeslat zprávu ani být příjemcem zprávy.
VojtaK
Profil *
To je přesně ono, moc děkuji za radu

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: