Autor Zpráva
tuzticzka
Profil
Zdravím,
potřeboval bych nějak překonat zákaz použití aliasů v WHERE popsané také v dokumentaci MySQL. Je zvláštní, že do ORDER BY se přejmenované sloupce mohou dát, ale to WHERE už nikoli. Nerad bych kvůli tomu takto "vytáhl" celý obsah tabulky a pak jej třídil až když ho v php vypisuju - to je opravdu hodně neefektivní.

Nevíte, jak docílit stejného efektu?

Díky M.
djlj
Profil
No nevím, u čeho to konkrétně potřebuješ, ale není problém napsat ku příkladu WHERE CONCAT(sloupec1, sloupec2)='necemu'.
Kajman_
Profil *
having aliasovysloupec=1
tuzticzka
Profil
Konkrétně:
SELECT

datova_tab.id,
(SELECT count(*) FROM ulozene_data V WHERE id_data=datova_tab.id) AS pocet_ulozeno
FROM datova_tab
WHERE
pocet_ulozeno = 1
ORDER BY ulozeno asc


jednoduše to zobrazuje jen počet uložených záznamů a já bych potřeboval to omezit právě jen na ty, které mají jen jeden záznam... je to jen příklad toho, co potřebuji vyřešit - jak dostat do podmínky WHERE hodnotu z předešlého subSELECTu?
Kajman_
Profil *
SELECT
datova_tab.id,
(SELECT count(*) FROM ulozene_data V WHERE id_data=datova_tab.id) AS pocet_ulozeno
FROM datova_tab
having
pocet_ulozeno = 1
ORDER BY ulozeno asc

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:

0