29. september 2005 - 09:42Der 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] ) )
I not at all sure if you can make a join on two different tables at the same time
Synes godt om
Slettet bruger
30. september 2005 - 08:29#3
Øv.. så må jeg ud i en UNION.
Synes godt om
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
Synes godt om
Slettet bruger
07. oktober 2005 - 08:19#5
Lukker
Synes godt om
Ny brugerNybegynder
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.