Autor | Zpráva | ||
---|---|---|---|
Doct Profil * |
#1 · Zasláno: 14. 2. 2013, 09:02:57
Dobrý den, potřeboval bych poradit. Mám takovýhle nějaký sql dotaz:
SELECT `ID`, `Name` FROM `tbl` WHERE `ID` = '1' ORDER BY `tbl`.`Name` ASC problém je v tom že v name jsou 3 slova, když jsem tu aplikaci psal, nenapadlo mě to a tedka už by to šlo jenom těžko přeprogramovat, takže bych chtěl vědět jestli by se dalo nějak řadit podle toho posledního slova v Name Díky |
||
DJ Miky Profil |
#2 · Zasláno: 14. 2. 2013, 09:11:44
Dalo by se to, ale bude to dost pomalé. Když už nechceš ten sloupec měnit, bude lepší řešení vytvořit nový sloupec a do něj to poslední slovo zkopírovat (a případně aktualizovat při změně toho původního sloupce).
|
||
Doct Profil * |
#3 · Zasláno: 14. 2. 2013, 09:15:47
No možná by se to dalo, ale víš jak, tu aplikaci jsem psal asi před půl rokem, nechce se mi už moc hrabat ve skriptech, upravovat to, raději bych udělal pouze úpravu sql. to že to bude pomalý mi zas až tak zatím nevadí...
|
||
juriad Profil |
#4 · Zasláno: 14. 2. 2013, 09:28:01
Třiď podle
SUBSTRING_INDEX('Karel Hynek Mácha', ' ', -1) # mělo by vrátit 'Mácha' Pokud máš aplikaci správně navrženou, tak by se změna měla být nutná v jediné třídě. |
||
Doct Profil * |
#5 · Zasláno: 14. 2. 2013, 09:33:46
Díky, jenom prosím tě kam to přidám do toho svýho SQL dotazu? SELECT `ID`, `Name` FROM `tbl` WHERE `ID` = '1' ORDER BY `tbl`.`Name` ASC
|
||
Kajman Profil |
#6 · Zasláno: 14. 2. 2013, 09:41:40
ORDER BY SUBSTRING_INDEX(`tbl`.`Name`, ' ', -1), `tbl`.`Name` |
||
Doct Profil * |
#7 · Zasláno: 14. 2. 2013, 09:47:39
Díky moc, už to funguje, tohle je jenom dočasné řešení, až budu mít čas, chci celou aplikaci předělat :)
|
||
Časová prodleva: 11 let
|
0