Avatar billede Slettet bruger
27. oktober 2008 - 10:01 Der er 4 kommentarer og
1 løsning

Retuner 0 istedet for NULL/adder med NULL

Hej

Jeg har en sql query hvori jeg joiner flere tabeller og addere flere af tallene, men i tilfælde hvor der indgår et NULL i additionen, bliver værdien blot 0. Hvordan kan dette undgåes?!? Er der en join, hvor der ikke retuneres NULL men 0, hvis værdien ikke eksistere - eller er det nogen anden måde at gøre det på?!?
Avatar billede pidgeot Nybegynder
27. oktober 2008 - 10:08 #1
Du kan bruge COALESCE, der returnerer det første af dens argumenter der ikke er 0:

SELECT COALESCE(felt_der_kan være_NULL,0) AS noget ...
Avatar billede Slettet bruger
27. oktober 2008 - 10:09 #2
Har selv fundet ud af det... Bruger bare IFNULL funktionen :)

IFNULL(værdi, hvis null værdi)
Avatar billede Slettet bruger
27. oktober 2008 - 10:10 #3
Det nåede du at skrive før jeg så det... Lav gerne et svar... Men hvad er forskellen på det to funtioner, hvis du ved det?!?
Avatar billede pidgeot Nybegynder
27. oktober 2008 - 10:19 #4
COALESCE kan tage et vilkårligt antal argumenter, modsat IFNULL, der kun kan tage 2.

Nu er det nok ikke relevant i netop denne situation, men hvis vi forestiller os at du ville checke et andet felt inden du faldt tilbage til 0, så skulle du enten bruge

IFNULL(felt1,IFNULL(felt2,0))

eller

COALESCE(felt1,felt2,0)
Avatar billede Slettet bruger
27. oktober 2008 - 10:20 #5
Ah okay, mange tak...
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