Avatar billede prebenrunge Nybegynder
25. oktober 2008 - 09:46 Der er 1 kommentar og
1 løsning

SQL til 3 tabeller med NVL()

Jeg har 3 tabeller hvoraf der altid findes data i de 2 (i tabel 2 kan det være Null) men nogle gange findes der slet ikke en post i den tredie tabel og min sql giver derfor ingen resultater. Hvordan skal den se ud for at få resultat fra de 2 og vises nul i den tredie som ikke har nogen post i forspøgslen ?
håber at nogen kan hjælpe.

Min sql ser således ud:
Select a.feltA, a.feltX, NVL(b.feltB,'0'), NVL(c.feltC,'0')
from tabel a, tabel b, tabel c
where a.feltX=b.feltX and a.feltX=c.feltX
and a.feltX=999
Avatar billede pgroen Nybegynder
25. oktober 2008 - 10:04 #1
Du skal bruge en Outer Join, der kunne se ud som fx.:

Select a.feltA, a.feltX, NVL(b.feltB,'0'), NVL(c.feltC,'0')
from tabel a, tabel b, tabel c
where a.feltX=b.feltX and a.feltX=c.feltX(+)
and a.feltX=999

Bemærk det tilføjede '(+)' i 3. linie...

Du kan evt. se yderligere forklaring i:
download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10002.htm#i2107296
Avatar billede prebenrunge Nybegynder
25. oktober 2008 - 10:48 #2
tusinde tak, det er helt perfekt
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