Avatar billede Slettet bruger
29. september 2005 - 09:42 Der er 4 kommentarer og
1 løsning

dobbelt LEFT JOIN giver fejl.

[tbl2].[col2] giver fejl i den 2. LEFT JOIN. Er det for [tbl2].[col2] ikke ekstisterer i alle tilfælde, fordi den første JOIN er OUTER på [tbl1]?

SELECT xxx FROM
(
  (
    [tbl1] LEFT JOIN [tbl2] ON
    (
      [tbl1].[col1] = [tbl2].[col1]
    )
  )
  LEFT JOIN [tbl3] ON
  (
    [tbl1].[col2] = [tbl3].[col2] OR [tbl2].[col2] = [tbl3].[col2]
  )
)

Vh Mathias.
Avatar billede Slettet bruger
29. september 2005 - 09:43 #1
Jeg gjorde det måske ikke helt klart, men der kommer ikke nogen fejlmeddelelse, hvis 'OR [tbl2].[col2] = [tbl3].[col2]' undlades.
Avatar billede terry Ekspert
29. september 2005 - 19:41 #2
I not at all sure if you can make a join on two different tables at the same time
Avatar billede Slettet bruger
30. september 2005 - 08:29 #3
Øv.. så må jeg ud i en UNION.
Avatar billede Slettet bruger
30. september 2005 - 10:53 #4
Jeg løste det med en UNION, men løb ind i problemer, da jeg skulle ORDER. Dette løste jeg ved at lave en ekstra SELECT:

SELECT * FROM
(
SELECT xxx FROM
(
  [tbl1] LEFT JOIN [tbl3] ON
  (
  [tbl1].[col2] = [tbl3].[col2]
  )
)
UNION ALL
SELECT xxx FROM
(
  (
  [tbl1] INNER JOIN [tbl2] ON
  (
    [tbl1].[col1] = [tbl2].[col1]
  )
  )
  LEFT JOIN [tbl3] ON
  (
  [tbl2].[col2] = [tbl3].[col2]
  )
)
)

ORDER BY xxx
Avatar billede Slettet bruger
07. oktober 2005 - 08:19 #5
Lukker
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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