Autor | Zpráva | ||
---|---|---|---|
Tomas87 Profil * |
#1 · Zasláno: 11. 6. 2012, 09:00:27
Dobrý deň,
chel by som sa spýtať, či by ste nevedeli poradiť s nasledovným problémom. Mám tabulku a v nej 2 polia, podľa ktorých musim zoraďovať údaje. (najskôr podľa 1., potom podľa 2.) Čiže klasika: ORDER BY field1, field2 ASC ale problém je, že vo field2 mam text s číslami, konkrétne typ: typ 2, typ 1, typ 13, typ 55. Ak takto zoradím, tak sa poradie premieša, nebude nasledovať v poradí: 1,2,13,55 :( Po chvíľke hĺadania som tento problem vyriesil takto: ORDER BY field1, field2*1 ASC napr. SELECT field1, field2 FROM table1,table2 WHERE table1.id=table2.id AND table1.id='123' ORDER BY field1, field2*1 ASC skúšal som aj SELECT obaliť, ale opať nepomohlo: SELECT aa.* FROM (**select**) aa ORDER BY aa.field1, aa.field2*1 ASC vedeli by ste niekto poradiť? Vopred ďakujem |
||
Tori Profil |
#2 · Zasláno: 11. 6. 2012, 09:14:07
Tomas87:
Buď rozdělit sloupec do dvou (typ, číslo), nebo přidat sloupec navíc, kde bude jen to číslo. Pokud budete potřebovat někde vybírat jednotlivé hodnoty typů (třeba do <select>u), hodí se vám to první (SELECT DISTINCT typ...). Jestli ne, tak stačí druhá možnost - sloupec s číslem by sloužil jen na seřazení výsledku. Na stackoverflow najdete užitečnou funkci, kterou můžete použít k updatu existujících dat. |
||
Časová prodleva: 12 let
|
0