Chcę zwracane wyniki sortować w kolejności pól:obwód+nr_sasiada
Są tam numery, jednak wiadomo, że wyniki wyglądają tak:
1
11
121
2
23
Użycie CONVERT(sasiedzi.nr_obwodu, DECIMAL(5,0)) albo CAST załatwia sprawę prawidłowo, jednak problem ponownie się pojawia, gdy próbuję uzyskać prawidłowe sortowanie wg klucza będącego połączeniem dwóch takich pól:
ORDER BY CONCAT(CONVERT(sasiedzi.nr_obwodu, DECIMAL(5,0)),"/",CONVERT(sasiedzi.nr_sasiada,DECIMAL(5,0)));
Rozwiązałem go tak:
ORDER BY CONVERT(sasiedzi.nr_obwodu, DECIMAL(5,0))*1000+CONVERT(sasiedzi.nr_sasiada,DECIMAL(5,0))
co działa prawidłowo, jednak ciekawi mnie, czy jest bardziej poprawne rozwiązanie?