Autor Zpráva
nowis
Profil *
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
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.

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: