MySQL dúvida

NotoriousXavi

Power Member
Equipas do Departamento
Equipa A | Empregado 1 | Empregado 2 ...
Equipa B | Empregado 1 | Empregado 3 ...
Equipa C | Empregado 2 | Empregado 3 ...

Empregados
Empregado 1 | João | 25 ...
Empregado 2 | Pedro | 30 ...
Empregado 3 | António | 24 ...


Eu tenho estas 2 tabelas onde Empregado 1, Empregado 2 e Empregado 3 são ID's.

Estou a tentar fazer uma query que me devolva:
Equipa A, João, Pedro
Equipa B, João, António
Equipa C, Pedro, António

Já tentei com algo semelhante à resposta mais votada neste site mas devolve 6 resultados: http://stackoverflow.com/questions/444820/left-outer-join-on-two-columns-performance-issue

Também já estive a ver o LEFT JOIN mas só faz a junção através de junção 1 para 1 e não 1 para 2 (os 2 empregados).

Alguma ideia de como posso fazer isto?

Obrigado desde já.
 
Select Equipa_id, Nome_Empregado
from Equipa left join nome empregado where Empregado.empregado_Id=Equipa.empregadoId
Group by Equipa_id order by Equipa_id

Alguma coisa deste tipo... Seleccionas os nomes das equipas e dos empregados e fazes um "group by" por Equipa e o respectivo Order.

Espero que ajude.
CUmps
 
Não percebi bem a estrutura da tua tabela Equipas do Departamento.

Mas penso que o que pretendes já tens algo errado na tua estrutura, deverias ter uma relação de 1:N desta forma:

Equipa (1)--------(N) Empregados

Ou seja, ficaria desta forma a tua estrutura:

Equipas do Departamento
ID (id da tabela PK)
NomeEquipa

Empregados
ID (id da tabela PK)
NomeEmpregado
IDEquipasDepartamento (FK)

E assim já poderias facilmente fazer a query que pretendes através do LEFT JOIN ;)
 
Back
Topo