Avatar billede steen_hansen Forsker
20. marts 2011 - 21:14 Der er 9 kommentarer og
1 løsning

SQL-spørgsmål: Sortér firstname, lastname

Jeg kører et udtræk gennem en løkke på en masse navne:

Set RS = Conn.Execute("SELECT actorID, nameofactor FROM privatfilmactor ORDER BY nameofactor ASC")

Jeg vil imidlertid gerne have sat fornavn og efternavn på skuespilleren (firstname, lastname). Derfor ændrede jeg SQL-sætningen til:

Set RS = Conn.Execute("SELECT actorID, firstname, lastname FROM privatfilmactor ORDER BY firstname, lastname ASC")

<%=RS("firstname")%> <%=RS("lastname")%> giver imidlertid ikke den rigtige alfabetiske sortering på efternavn. Fornavnet er korrekt nok, men hvis der er flere skuelspillere med det samme fornavn og forskellige efternavne, bliver de listet i den rækkefølge, som de blev indtastet. Eksempel på skuespillere, hvis navn starter med "David":

David Morse
David Charvet
David Duchovney
David Hasselhof
David Schwimmer

Sorteringen burde se således ud, når der bliver sorteret på efternavnet også:

David Charvet
David Duchovney
David Hasselhof
David Morse
David Schwimmer

Hvordan skal SQL'en se ud?
Avatar billede reino Nybegynder
20. marts 2011 - 21:29 #1
Set RS = Conn.Execute("SELECT actorID, firstname, lastname FROM privatfilmactor ORDER BY firstname asc, lastname ASC")

Prøv dette.
Avatar billede steen_hansen Forsker
20. marts 2011 - 21:56 #2
Hej reino

Det giver ingen forskel
Avatar billede Red0z Nybegynder
20. marts 2011 - 22:26 #3
Set RS = Conn.Execute
("
SELECT actorID, nameofactor
FROM privatfilmactor
ORDER BY nameofactor");

Hvad med bare sådan ?
Avatar billede steen_hansen Forsker
20. marts 2011 - 22:27 #4
Hej Red0z

Jeg har ændret nameofactor (ét navn) til firstname og lastname
Avatar billede steen_hansen Forsker
20. marts 2011 - 22:31 #5
Ikke ét navn, men ét recordset er ændret til to, sorry :)
Avatar billede Red0z Nybegynder
20. marts 2011 - 22:46 #6
SELECT actorID, firstname, lastname
FROM privatfilmactor
ORDER BY firstname, lastname

Dette skulle sådan set gerne virke.
Ihvertfald når jeg tester det på min.

Alle Firstnames ender på en ABC liste, og ved dublikerede navne, er efternavnene i ABC også.
Avatar billede steen_hansen Forsker
20. marts 2011 - 22:51 #7
Den har jeg sådan set prøvet først, og jeg har prøvet den igen med det samme resultat:

Set RS = Conn.Execute("SELECT actorID, firstname, lastname FROM privatfilmactor ORDER BY firstname, lastname")

giver ingen ændring hos mig. Listningen er stadig den samme:

David Morse
David Charvet
David Duchovney
David Hasselhof
David Schwimmer

Og ikke sådan her:

David Charvet
David Duchovney
David Hasselhof
David Morse
David Schwimmer
Avatar billede steen_hansen Forsker
20. marts 2011 - 23:55 #8
Red0z, jeg havde ikke fået delt nameofactor ud i firstname og lastname. RS("lastname") var tom i dem allesammen, pånær hos David Morse. Det virker. Lægger du et svar?
Avatar billede Red0z Nybegynder
21. marts 2011 - 18:03 #9
Ahh, det er selvfølgelig forståeligt nok. :)

Svar.
Avatar billede steen_hansen Forsker
22. marts 2011 - 17:56 #10
Det er svært at gardere sig imod tanketorske :op Tak for input under all omstændigheder :o)
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