Avatar billede ulrikh Nybegynder
18. november 2005 - 09:14 Der er 5 kommentarer og
1 løsning

Sortering af 2 felter

Hej

Har denne tabel:

ID Fornavn Efternavn
1  anne    jensen
2  null    nielsen
3  lise    null
4  null    henriksen
5  null    mortensen

Tabellen indeholder altid enten et fornavn eller et efternavn eller begge dele. Jeg skal lave en alfabetisk sortering som laver et alias Navn og sorterer således at hvis fornavn ikke er null så skal dette vises under navn ellers efternavn.

Udtrækket skal derfor give dette resultat:

Navn
anne
henriksen
lise
mortensen
nielsen
Avatar billede lorentsnv Nybegynder
18. november 2005 - 09:21 #1
Prøv med

Select COALESCE(Fornavn,Efternavn)
from DinTable
Order by COALESCE(Fornavn,Efternavn)
Avatar billede lorentsnv Nybegynder
18. november 2005 - 09:23 #2
Du skal måske sette en navno på outputkolonnen:

Select COALESCE(Fornavn,Efternavn) as Navn
from DinTable
Order by COALESCE(Fornavn,Efternavn)
Avatar billede ulrikh Nybegynder
18. november 2005 - 11:49 #3
kører super smid et svar lorentsny
Avatar billede lorentsnv Nybegynder
18. november 2005 - 11:59 #4
Svar :-)
Avatar billede ldanielsen Nybegynder
18. november 2005 - 14:23 #5
COALESCE havde jeg ikke set. Jeg ville have lavet det sådan, med ISNULL:

Select ISNULL(Fornavn, Efternavn) as Navn
from DinTable
Order by ISNULL(Fornavn, Efternavn)

ISNULL gør dette:
Hvis første argument ikke er NULL returneres dette. Hvis det er NULL returneres det andet argument.

COALESCE gør dette:
Du kan lave så mange argumenter du vil, og den returnerer det første der ikke er NULL

Så lærte jeg også noget i dag

Ifølge tests er ISNULL en lille smule hurtigere, men det er meget tæt.
Avatar billede lorentsnv Nybegynder
18. november 2005 - 14:30 #6
Så kom der et rigtig svar :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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