| Autor | Zpráva | ||
|---|---|---|---|
| nowis Profil * |
#1 · Zasláno: 22. 1. 2013, 12:22:54
Zdravím,
mám data v jedné buňce - jsou to čísla obchodních případů: AAA/01/2012 BBB/05/2013 BBB/05/2012 AAA/02/2013 Dosud se řadilo jen podle prostředního čísla, tzn pomocí ORDER BY SUBSTRING (cislo_op,5). Teď je ale nový požadavek, aby primární kritérium třídění byl rok. tedy výsledek by měl vypadat takto: AAA/01/2012 BBB/05/2012 AAA/02/2013 BBB/05/2013 problém je, že dotaz ...ORDER BY SUBSTRING (cislo_op,5), ORDER BY SUBSTRING (cislo_op,8) nefunguje (asi je to i logické, asi se nepočítá s tím, že by někdo chtěl řadit 2x různě podle stejného sloupce)
Je to aplikace, která už nějakou dobu běží, takže předělávat zgruntu ji nechci, ikdyž si uvědomuji, že tento problém je zřejmě způsoben nevhodným návrhem. Jde to nějak udělat? |
||
| Kajman Profil |
#2 · Zasláno: 22. 1. 2013, 12:48:25
ORDER BY SUBSTRING (cislo_op,8), SUBSTRING (cislo_op,5) Ale opravdu není návrh ideální. |
||
| Tori Profil |
nowis:
„Je to aplikace, která už nějakou dobu běží, takže předělávat zgruntu ji nechci“ Zgruntu nemusíte, stačilo by přidat jeden sloupec navíc, podle kterého se to bude řadit. Tzn. v cislo_op budete mít "AAA/01/2012", ale ve sloupci poradi bude jen 201201 (nebo "2012-01-AAA", nevim). Když budete chtít změnit způsob řazení, tak jen provedete update tabulky a do sloupečku poradi si vytáhnete jinou část dat. |
||
|
Časová prodleva: 13 let
|
|||
0