24. februar 2004 - 10:36Der er
3 kommentarer og 1 løsning
SQL : Outer join på db2
Hej
Jeg har et problem med outer join's på db2.
sql'en ser sådan ud:
SELECT a.AKTNR AS AKTNR, a.NIVEAU AS NIVEAU, b.KTONR AS KTONR, c.AFD AS AFD, d.UDV AS UDV FROM b RIGHT OUTER JOIN a ON ( b.AKTNR = a.AKTNR ), c RIGHT OUTER JOIN a ON ( c.AKTNR = a.AKTNR ), d RIGHT OUTER JOIN a ON ( d.AKTNR = a.AKTNR ) ORDER BY NIVEAU, AKTNR
Problemet er at jeg får en: 'Referencen til kolonnen "a.aktnr" er flertydig.
Hvis jeg fjerner 2 join's, så jeg kun joiner 2 tabeller, så kører det fint.
Er der nogen der kan se hvad der er galt, eller er det kun tilladt at lave én join pr. felt ????
Det er bare et gæt, men jeg tror du er ude efter dette her:
SELECT a.AKTNR AS AKTNR, a.NIVEAU AS NIVEAU, b.KTONR AS KTONR, c.AFD AS AFD, d.UDV AS UDV FROM a LEFT OUTER JOIN b ON ( b.AKTNR = a.AKTNR ) LEFT OUTER JOIN c ON ( c.AKTNR = a.AKTNR ) LEFT OUTER JOIN d ON ( d.AKTNR = a.AKTNR ) ORDER BY NIVEAU, AKTNR
Jeg har vendt det til LEFT JOIN, men det burde blive det samme.
Helt korrekt. tak for hjælpen lav et svar så du kan få dine point. Faktisk var den sql jeg viste genereret af db2's egen sql-assistent i kommandocentralen. Lidt pinligt at den ikke kan finde ud af at lave det korrekt.
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.