Estou tentando fazer uma junção externa no MySQL para identificar registros não comuns a 3 tabelas. Aqui está meu esforço atual http://sqlfiddle.com/#!2/02b92/30
Estou tentando recuperar os registros não comuns às três tabelas: 2,C,c (tbl2) 6,E,c (tbl3). Em vez disso, estou recuperando o único registro comum: 1,A,c.
Obrigado
SELECT *
FROM tbl1 A
LEFT OUTER JOIN tbl2 B
ON(
A.a = B.a
AND A.b = B.b
AND A.c = B.c
)
RIGHT OUTER JOIN tbl3 C
ON(
B.a = C.a
AND B.b = C.b
AND B.c = C.c
)
WHERE A.a is not null;
Se você não está determinado a usar
OUTER JOIN
uma maneira de obter o resultado esperado écaso contrário, você precisa usar
FULL OUTER JOIN
um tipo de junção não suportado pelo MySQL, mas pode ser emulado com uma composição como ( Full Outer Join in MySQL )Eu sei que é feio, mas acredito que funcione.