Autor Zpráva
Marcel24
Profil *
Ahojte, mam dve tabulky podla id z jednej vyberam stlpce z druhej

SELECT t1.profil, t2.userid, t2.name AS meno, t2.nameurl AS menourl
FROM tabulka1 t1, tabulka2 t2
WHERE t2.userid = t1.profil

Chcel by som aby sa mi zobrazil unikatny vypis cez DISTINCT v tabulka1 t1

skusil som dat DISTINCT pred t1.profil, ale nepomohlo, pokial pracujem len s jednou tabulkou tak mi DISTINCT funguje, ale v takomto pripade to neviem nejako spravit aby sa to spravalo ako chcem, vedeli by ste niekto helfnut?

Dakujem
lionel messi
Profil
Marcel24:
Myslím, že v tomto prípade bude vhodnejšie použiť zoskupenie:
SELECT t1.profil, t2.userid, t2.name AS meno, t2.nameurl AS menourl
FROM tabulka1 t1, tabulka2 t2
WHERE t2.userid = t1.profil
GROUP BY t1.profil

Vráti jedno meno za každých okolností (testované aj pri dotaze cez viac tabuliek).

Dopĺňam vysvetlenie, prečo DISTINCT v tomto prípade nefunguje. Nejde ani tak o to, že máš dotaz cez viac tabuliek, podstatné je, že DISTINCT vyhodí záznam ako duplicitu pri zhode všetkých vybraných stĺpcov. Na zoskupovanie podľa jedného stĺpca slúži GROUP BY.
Marcel24
Profil *
vdaka za pomoc, hned po odoslani som sa docital o group by a skusil a fungovalo, ale aj vdaka :)

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: