emovendo duplicatas do resultado da junção múltipla em tabelas com colunas diferentes no MySQL

Estou tentando fazer uma instrução para extrair dados de 3 tabelas relacionadas (pois todas compartilham um índice de string comum). Estou tendo problemas para impedir que o MySQL retorne o produto de duas das tabelas, tornando o conjunto de resultados muito maior do que eu quero. Cada tabela possui um número diferente de colunas e eu preferiria não usar UNION de qualquer maneira, porque os dados em cada tabela são separado

Aqui está um exemplo

tabela X é a tabela principal e possui os campos A B.

A tabela Y possui os campos A C D.

A tabela Z possui os campos A E F G.

-

Meu resultado ideal teria a forma:

A1 B1 C1 D1 E1 F1 G1

A1 B2 C2 D2 00 00 00

A2 B3 C3 D3 E2 F2 G2

A2 B4 00 00 E3 F3 G3

etc ...

-

Aqui está o SQL mais simples que tentei que mostra o meu problema (ou seja, ele retorna o produto de Y * Z indexado pelos dados de A:

SELECT DISTINCT *

FROM X

LEFT JOIN Y USING (A)

LEFT JOIN Z USING (A)

-

Tentei adicionar um grupo por cláusula aos campos Y e Z. Mas, se eu agrupar apenas uma coluna, ele retornará apenas o primeiro resultado correspondente a cada valor exclusivo nessa coluna (por exemplo: A1 C1 E1, A1 C2 E1 A1 C3 E1). E se eu agrupar por duas colunas, ele retornará o produto das duas tabelas novament

ambém tentei executar várias instruções de seleção na consulta e ingressar nas tabelas resultantes, mas recebi o produto das tabelas como saída novament

Basicamente, quero mesclar os resultados de três instruções de seleção em um único resultado, sem que isso me dê todas as combinações dos dados. Se precisar, posso recorrer a várias consultas. No entanto, como todos eles contêm um índice comum, acho que deve haver uma maneira de fazer isso em uma consulta que está faltand

Obrigado por qualquer ajuda

questionAnswers(5)

yourAnswerToTheQuestion