Předmět Autor Datum
SELECT a.id as a_id FROM `autorizace_prava` a where `a_id`=1
foltyn 22.10.2007 16:20
foltyn
zda se ze tyto dva zapisy jsou identicke ... mysql v obou pripadech vraci chybu: Unknown column 'a_…
Mark 22.10.2007 16:36
Mark
Řekl bych, že 'a_id' nemá být v apostrofech.
host 22.10.2007 17:02
host
Dôvod, prečo to tak nejde, vyplýva zo spôsobu spracovania SQL príkazu - výber stĺpcov (vrátane vytvo…
los 22.10.2007 17:13
los
Ne .. myslím, že nemáš pravdu ..... pokud by za "where" nesměly být aliasy tak tyhle úplně ztrácejí…
StanB 22.10.2007 23:45
StanB
Asi máš na mysli aliasy pre tabuľky. Pri aliasoch pre stĺpce to tak nefunguje. Spätné apostrofy sa…
los 23.10.2007 00:14
los
povsimete si prosim ze to nejsou apostrofy ktere oznacuji textove pole ... ty vypadaji takto 'text'…
Mark1561 23.10.2007 08:14
Mark1561
Ve Where se filtruje podle poli tabulky, ne podle toho, co ty nazyvas aliasy. Takovy tvuj "alias" mu…
Jan Fiala 23.10.2007 06:34
Jan Fiala
to je pravda :-)... no asi to svuj smysl ma, proc to takto nejde, ale trochu mi to zkomplikovalo pra…
Mark1561 23.10.2007 08:16
Mark1561
Zkomplikovalo praci? To nechapu. Spis by ti to v budoucnu zkomplikovalo upravy, protoze bys nevedel,… poslední
Jan Fiala 23.10.2007 08:57
Jan Fiala

Dôvod, prečo to tak nejde, vyplýva zo spôsobu spracovania SQL príkazu - výber stĺpcov (vrátane vytvorenia ich aliasov) sa vykoná až po spracovaní WHERE klauzuly, takže vo WHERE klauzule nie je možné pristupovať k stĺpcom podľa aliasu.

Ne .. myslím, že nemáš pravdu ..... pokud by za "where" nesměly být aliasy tak tyhle úplně ztrácejí smysl .... právě proto se v sekvenci select, from definuji aliasy, abych je v nejobsažnější části "where" mohl používat.
Chyba je v apostrofech jek píše host (proměnná se bere jako text :-/))

povsimete si prosim ze to nejsou apostrofy ktere oznacuji textove pole ... ty vypadaji takto 'text' .... ovsem `tyto` naopak se bezne pouzivaji k oznacovani jmen tabulek, databazi a sloupcu ... kazdopadne, i kdyz je odeberu, problem i nadale zustava stejny. jako by skutecne apostrofy ve where klauzuli nebylo vubec mozne pouzivat ... jsem s toho jelen.. Jen upozornim dodatecne na jednu snad dulezitou vec, ze pouzivam MySQL rady 5

Zkomplikovalo praci? To nechapu.
Spis by ti to v budoucnu zkomplikovalo upravy, protoze bys nevedel, podle ceho se podminky vybiraji ;-)

Jeste par prikladu:
select a.Jmeno + b.Prijmeni as Neco from ...
select sum(a.Hodiny * b.Taxa) as Cena from ...

Pokud bys chtel filtrovat na vysledky napr. SUM(), nedela se to ve Where, ale v Having, ktere se provadi az uplne na konci

Zpět do poradny Odpovědět na původní otázku Nahoru