Como associar uma tabela a si mesma com base em uma chave estrangeira na mesma tabela?

Souames

Digamos que eu tenha uma tabela SQL da seguinte maneira:

Id | Name | Email        | Id_manager
---+------+--------------+------------
1  | Jon  | [email protected]  |    2
2  | Mike | [email protected] |    2
2  | Bar  | [email protected]  |    1

Então aqui Jon é o gerente do Bar e Mike é o gerente do John e dele mesmo. O mesmo Id_managerocorre com uma chave estrangeira que faz referência à mesma tabela.

Eu preciso retornar uma nova tabela contendo as seguintes colunas

Name, Email, Manager_Name

Mas não tenho ideia de como obter o nome do gerente usando uma operação SQL. Devo usar um join? Se sim, como posso fazer isso neste caso?

GMB

Isso é uma auto-junção, de fato:

select t.name, t.email, m.name as manager_name
from mytable t
inner join mytable m on m.id = t.id_manager

Se houver funcionários sem gerente, convém usar em left joinvez de inner joinpara evitar filtrá-los.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como obter um elemento raiz em uma tabela referenciando a si mesma com uma chave estrangeira? (ciclo ?)

Operações CRUD em uma tabela com chave estrangeira na mesma tabela

Eu estou tentando retornar as linhas combinadas na mesma tabela com base em uma chave em uma segunda tabela

Como fazer uma chave estrangeira em referência a uma coluna da mesma tabela

Como faço para associar uma tabela com vários id na mesma coluna?

Como faço para associar uma tabela com vários id na mesma coluna?

Como preencher uma coluna com base em outros dados de colunas na mesma tabela?

Traga a quantia de uma tabela para outra com base em uma condição e na mesma chave primária

Uma chave estrangeira poderia ser uma chave candidata na mesma tabela?

Como selecionar dados de uma tabela com múltiplos onde na mesma coluna com base em outra tabela no SQLite

Quando uma linha em uma tabela depende das informações de outra tabela, você precisa adicionar essas linhas à mesma tabela como uma chave estrangeira?

Como inserir dados em uma tabela após excluir uma linha com a mesma chave primária?

Como inserir uma linha em uma tabela autorreferencial com a mesma chave primária e externa?

Django model chave estrangeira na mesma tabela

Como associar uma tabela a ela mesma usando um loop incremental usando uma variável definida em uma linha da tabela?

SQL Server: tabela com chave estrangeira para si mesma com exclusão em cascata

Juntando uma tabela em si mesma com agregação

tsql - como copiar dados na mesma tabela com novo ID e com relacionamento de chave estrangeira

Restrição SQL: dois atributos, pelo menos uma correspondência de chave estrangeira na mesma tabela

Como posso inserir valor em uma tabela com chave estrangeira?

Atualize o valor em uma coluna com base em outra coluna na mesma tabela

Duas colunas na mesma tabela e mesma chave estrangeira

Obtenha uma matriz de registros com base em duas chaves na mesma tabela

Relacionamentos com a mesma chave estrangeira para a mesma tabela Laravel 5

Como obter itens com dois resultados na mesma coluna em uma tabela relacional

O MySQL não adicionará chave estrangeira mais de uma chave estrangeira à mesma tabela

Como mesclar itens com base na mesma chave/valor em uma lista python

Como ATUALIZAR TODAS AS LINHAS ANTIGAS em UMA TABELA com a trigger AFTER / BEFORE INSERT ON NA MESMA TABELA no mysql?

Como inserir um registro em uma tabela com uma chave estrangeira usando Entity Framework na ASP.NET MVC