Ik heb een paar tabelletjes gemaakt waarmee ik probeer een overzicht te scheppen in het gereedschap dat ik heb. Nu is veruit de belangrijkste tabel "gereedschap_item". Hierin staan gegevens als het merk, het artikelnummer (meteen ook de primary key) en de maat.
Nu wil ik dus steeksleutels kunnen sorteren op maat, maar er is één probleem: het zijn niet "zomaar" getallen.
De maat is een varchar, omdat je praat over 6x7, 8x9, 10x11, 12x13 enz. enz. Als ik dit ga sorteren staan 6x7 en 8x9 natuurlijk onderaan (terwijl de grotere maten dus bovenaan staan).
Even voor de duidelijkheid, het moet als volgt gesorteerd worden:
Opzich zou dit moeten kunnen als je het veld gaat casten/converten als SIGNED. Ik krijg dan ook netjes de goede volgorde te zien met de volgende query:
Totdat ik dit doe:
Dan sorteert 'ie wel op merk en artikelnummer, maar niet meer op de maat. Het lijkt er dus op dat cast/convert niet echt multi-column sort compatible zijn ofzo. In de manual heb ik hier niets over kunnen vinden, en met google kwam ik ook niet veel verder.
Heeft er iemand enig idee wat hier aan de hand is ?
Nu wil ik dus steeksleutels kunnen sorteren op maat, maar er is één probleem: het zijn niet "zomaar" getallen.
De maat is een varchar, omdat je praat over 6x7, 8x9, 10x11, 12x13 enz. enz. Als ik dit ga sorteren staan 6x7 en 8x9 natuurlijk onderaan (terwijl de grotere maten dus bovenaan staan).
Even voor de duidelijkheid, het moet als volgt gesorteerd worden:
code:
1
2
3
4
5
6
7
| iMaat -------- 6x7 8x9 10x11 12x13 14x15 |
Opzich zou dit moeten kunnen als je het veld gaat casten/converten als SIGNED. Ik krijg dan ook netjes de goede volgorde te zien met de volgende query:
SQL:
1
| SELECT iMerk, iArtikelNr, iMaat FROM gereedschap_item ORDER BY CONVERT(iMaat, SIGNED); |
Totdat ik dit doe:
SQL:
1
| SELECT iMerk, iArtikelNr, iMaat FROM gereedschap_item ORDER BY iMerk, iArtikelNr, CONVERT(iMaat, SIGNED); |
Dan sorteert 'ie wel op merk en artikelnummer, maar niet meer op de maat. Het lijkt er dus op dat cast/convert niet echt multi-column sort compatible zijn ofzo. In de manual heb ik hier niets over kunnen vinden, en met google kwam ik ook niet veel verder.
Heeft er iemand enig idee wat hier aan de hand is ?