Avatar billede maxmuldjord Nybegynder
19. januar 2005 - 16:09 Der er 8 kommentarer og
1 løsning

Order by problem

Hej exp.

Jeg har et lille problem. det kan ses her: http://www.manniken.dk/skruestik.asp f.eks kommer best. nr. 6538-100 før 6538-80. Det skulle jeg gerne have lavet om. Jeg anvender en SQL der hedder: ORDER BY product_name ASC hvor mit product_name er mit varenummer.
Avatar billede fennec Nybegynder
19. januar 2005 - 16:26 #1
Problemet er at du laver en tekst sortering, også kommer "100" før "80". Hvis du skal sortere "rigtigt" skal du enten dele det nummer over flere felter så de er adskildt, ellers kan du måske gøre det på selecten.
Avatar billede fennec Nybegynder
19. januar 2005 - 16:30 #2
Evt noget i denne stil:
select .... order by int(left(product_name,5)), int(mid(product_name,6,3))

Det kommer selvfølge også an på hvilken database du bruger, om du kan gøre dette.
Avatar billede neander Nybegynder
19. januar 2005 - 16:49 #3
kan man ikke også gøre det med en replace funktion?
noget lignende

bestnr = rs("bestnr")
bestnr = replace(bestnr) "-", "")

og efterfølgende SELECT [] ORDER BY bestnr

eller er det helt nonsens?
Avatar billede maxmuldjord Nybegynder
19. januar 2005 - 17:01 #4
Det er en access database jeg bruger
Avatar billede maxmuldjord Nybegynder
19. januar 2005 - 19:18 #5
Hvordan skulle jeg evt. ændre mine felter?
Avatar billede maxmuldjord Nybegynder
19. januar 2005 - 19:51 #6
har fixet det, måske ikke så elegant men det virker. Jeg lod min ORDER BY kører på mit product id som er min primærnøgle, jeg får det så listet i rækkefølge.
Avatar billede fennec Nybegynder
19. januar 2005 - 22:15 #7
Ellers skulle du have oprettet 2 nye tal felter, også skulle du have delt bestillingsnummeret.
id Best1  Best2  Bem
1  6538  80      'abc..'
2  6538  100    'def..'

På den måde kan du bruge "order by Best1, Best2"
Avatar billede maxmuldjord Nybegynder
20. januar 2005 - 07:01 #8
Ville jeg så få 80 før 100? I så fald kunne det sagtens være point værd, jeg laver lige et nyt spørgsmål til dig så du kan komme med et svar.
Avatar billede fennec Nybegynder
20. januar 2005 - 08:10 #9
ja du vil. Så længe typen er tal og ikke tekst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester