Autor Zpráva
mattyZEM
Profil
Dobrý den, mám tento příkaz do DB:

SELECT * , uzivatel.uid AS uiddva, uzivatel.ujmeno AS ujmenodva
FROM tbl_forum_temata t
LEFT JOIN uzivatele u ON ( t.ftautor_id = u.uid )
LEFT JOIN tbl_forum_sekce s ON ( t.ftsekce = s.fsid )
LEFT JOIN uzivatele AS uzivatel ON ( t.ftposl_a = uzivatel.uiddva )
ORDER BY ftposl_d DESC
LIMIT 15


ale MySQL hlásí:
Unknown column 'uzivatel.uiddva' in 'on clause'

nevíte co s tím?
Všechny sloupce i tabulky existují, ale prostě ten blbej uiddva nefunguje, i když ujmenodva jo..
Aesir
Profil
[#1] mattyZEM:
Ale sloupec uzivatel.uiddva asi opravdu neexistuje, v klauzuli SELECT si sloupec uzivatel.uid pojmenujete aliasem uiddva, takže poté v klauzuli WHERE nebo FROM (resp. JOIN) se musíte již odkazovat jen na uiddva a ne uzivatel.uiddva.
mattyZEM
Profil
SELECT *,uzivatel.ujmeno as ujmenodva,uzivatel.uid as uiddva
FROM tbl_forum_temata t
LEFT JOIN uzivatele u ON (t.ftautor_id = u.uid)
LEFT JOIN tbl_forum_sekce s ON (t.ftsekce = s.fsid)
LEFT JOIN uzivatele as uzivatel ON (t.ftposl_a=uiddva)
ORDER BY ftposl_d DESC
LIMIT 15

Unknown column 'uiddva' in 'on clause'
Kajman_
Profil *
Myslím, že tam být t.ftposl_a=uzivatel.uid
mattyZEM
Profil
Ano, tak to je správně, ale je to špatně pro to co to má vypsat :) ale dík moc za radu :)
mattyZEM
Profil
Nakonec jsem to přepsal na:
SELECT *, 
u.ujmeno as tema_autor,
us.ujmeno as posl_autor
FROM tbl_forum_temata t
LEFT JOIN uzivatele u ON (t.ftautor_id=u.uid)
LEFT JOIN uzivatele us ON (t.ftposl_a=us.uid)
LEFT JOIN tbl_forum_sekce s ON (t.ftsekce = s.fsid)
ORDER BY ftposl_d DESC
LIMIT 15

Jenže je to špatně. Výpis sice proběhne, bez chybové hlášky, ale tema_autor je stejný jako posl_autor i když je to jinak. Mohl by mi prosím někdo pomoci?
mattyZEM
Profil
Opraveno, chyba byla ve výpisu, ne u příkazu do MySQL

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: