25. oktober 2008 - 09:46Der 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
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
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.