Autor Zpráva
dalirx
Profil *
Ahoj.
Nepodařilo se mi vyřešit, jak setřídit výsledek selektu pospojovaného ze tří selektů pomocí UNION. ORDER BY s UNIONem nefunguje.
Výsledek vypisuji pomocí:
... while ($row=mysql_fetch_array($result)) {....
Díky
nightfish
Profil
řešil bych na úrovni mySQL - vytvořit dočasnou tabulku, do té zapsat výsledek všech tří selectů a pak udělat jeden výsledný select s order by
dalirx
Profil *
Hm, to by asi šlo. Pokud nevymyslím nic lepšího, zkusím tohle. Díky. Doufal jsem jen že nějak půjde setřídit pole vrácené selektem, ale nevím jak na to.
Aesir
Profil
dalirx:

Mně na postarší MySQL 5.0.18 funguje přesně tento případ, tři selecty spojené UNIONEM a seřazené pomocí ORDER BY DESC LIMIT #.
dalirx
Profil *
Ty jo, já jsem trouba! Třídil jsem to podle datumu upraveného na: DATE_FORMAT(DATEENT, "%d.%m.%Y") AS DE .... ORDER BY DE DESC.
Fakt to nešlo. Když jsem to setřídil přímo dle DATEENT tak to funguje.
....
Teď si uvědumuju, že zřejmě v ORDER BY nerozuměl tomu aliasu. No fakt trouba, byl jsem přesvědčen, že už jsem to zkoušel.

(Na hostingu je MySQL 4.0.20. Nejsem si jist, zda tam byla vždy stejná verze, nebo ji změnili.)

Díky
Toto téma je uzamčeno. Odpověď nelze zaslat.

0