JymdisMedlem sedan mars 20016 260 inlägg hejsan!
när jag kör en order by ascending på decimal tal får jag följande svar:
1.1.1
1.1.10
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
men jag vill ha:
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
nån lösning?
LarsGMedlem sedan dec. 200012 464 inlägg Det där ser mer ut som siffror i en textkolumn och inte ett decimaltal.
Finns det någon systematik i siffrorna?
Är det alltid lika många punkter?
Är första siffran alltid 1?
Generellt så är den här typen av problem väldigt svåra att lösa.Det brukar oftast vara enklast att ha ett extra fält som man sorterar efter.
JymdisMedlem sedan mars 20016 260 inlägg du säger d :)
det är lite synd att jag inte har gjort det innan designen av databasen och alla sidorna dock ;)
första siffran är alltid 1
systematiken vet jag inte hur jag ska förklara
Första siffran vill jag säga att den motsvarar högsta leveln, som alltid är 1. Andra siffran motsvarar leveln under och här ska helst kunna vara minst mellan 1-99 (dvs 1.99.1 ska vara möjligt). Tredje siffran är tredje leveln då och samma här, 1-99 ska helst vara möjligt. Hoppas jag gjorde nån klockare.
Där är inte alltid lika många punkter, ju längre ner i hierkain man kommer desto fler punkter.
1.1
1.1.1
1.1.2
1.2
1.2.1
1.3
1.3.1
JymdisMedlem sedan mars 20016 260 inlägg Okej!
Nu kom jag på den ultimata lösningen:
Jag räknar helt enkelt antal records som SQL frågan ger tillbaka och plusar ett.
Vet inte hur mycket det förklarar men det funkar.
LarsGMedlem sedan dec. 200012 464 inlägg Då kan man bortse från de två första tecknen. Om du har högst 3 nivåer så bör det gå
order by case when len(c) = 1 then 0
else cast(substring(c,3,len(c)-2) as decimal(4,2)) end
Du nämnde aldrig vilken DBMS du använde. Ovanstående (borde kunna) fungera i SQL server.
JymdisMedlem sedan mars 20016 260 inlägg heh..
Guess what, jag har precis insett att hela lösningen är värdelös i vilket fall som helst.
Måste konstrutera om databasen.
Du får gärna utveckla vad du menar med extra fält som man sorterar efter om du känner för det, känner det kunde vara en bra lösning.
tack på förhand
@ndersMedlem sedan juni 200032 969 inlägg Sorteringsfält använder jag mig ofta av, och det är inga konstigheter eller märkligheter. Jag lägger helt enkelt till ett fält av taltyp, och ser till att kolumnen fylls med vettiga värden. Vanlig heltalssortering är ju enkel och gräjt.
Mvh,