Strona 1 z 1

[T-SQL] Sortowanie, punktowanie

PostNapisane: N kwi 21, 2013 4:18 pm
przez Junior
Cześć,

W zasadzie to nawet nie wiem jak nazwać to o co mi chodzi więc po prostu pokażę na przykładzie.
Kiedy mamy wypunktowanie w dokumencie to wygląda to następująco:
1
1.1
1.2
1.22
1.23
1.3
...

...
1.4
1.41
1.42
itd.

Natomiast używając ORDER BY mamy to co wyżej w takiej kolejności:
1
1.1
1.2
1.3
1.4
1.22
1.23
1.41
1.42
...

Nie wiem jak to opisać, nie wiem jak szukać. Oczywiste jest, że takie wypunktowanie nie do końca jest zgodne matematycznie, ale może ktoś ma jakiś opracowany sposób aby to obejść.

Z góry dzięki.

Re: [T-SQL] Sortowanie, punktowanie

PostNapisane: N kwi 21, 2013 6:14 pm
przez xxSlayeRxx
moze takie prostackie i pewnie w kodzie bedziesz musial omijac to, ale...
dodawaj 0...

czyli
1
1.10
1.20
1.202
1.203
1.30

wtedy bedzie dobrze :D tylko czy to jest znosne rozwiazanie? :D
aczkolwiek... jakim cudem w wypunktowaniu masz 1.1, 1.2, 1.22, 1.23, 1.3

Re: [T-SQL] Sortowanie, punktowanie

PostNapisane: Śr maja 01, 2013 10:36 am
przez Junior
Nie do końca tak, bo:

1.1
1.2
1.3
...
1.9
1.10
1.11
1.12
itd. (tak powinno być)

To co zaproponowałeś, po sortowaniu będzie wyglądało tak:
1.10
1.11
1.12
1.20
1.30
...
1.90

Ewentualnym rozwiązaniem jest numerowanie takie:
1.01
1.02
1.03
...
1.09
1.10
1.11
1.12

Wtedy przyjąć warunek, że jeśli po kropce jest zero to trzeba je usunąć i to jest chyba jedyne rozwiązanie...

Re: [T-SQL] Sortowanie, punktowanie

PostNapisane: Pt maja 10, 2013 6:46 am
przez Marcin Miga
ORDER BY LEngth(liczba), Liczba