Bom dia,
No meu sistema tenho 3 tabelas FUNCIONARIO, CARGO e TRANSFERENCIA_FUNCIONARIO
Na tabela FUNCIONARIO possuo os seguintes dados,
COD_FUNCIONARIO | NOME_FUNCIONARIO
101 | EDUARDO MOREIRA
202 | PABLO SARAIVA
Na tabela CARGO possuo os seguintes dados,
COD_CARGO | NOME_CARGO
10 | AUX ALMOXARIFADO
20 | ASSISTENTE ADM
Na tabela TRANSFERENCIA_FUNCIONARIO os dados
COD_TRANSFERENCIA | COD_FUNCIONARIO | COD_CARGO_ORIGEM | COD_CARGO_DESTINO
1 |101 |10 |20
Preciso criar uma procedure para me retornar o nome do funcionario e o cargo de origem e destino
Fiz ela desta maneira, mas não sei se é a forma mais correta,
SELECT
F.NOME_FUNCIONARIO,
C.NOME_CARGO AS CARGO_ORIGEM,
C2.NOME_CARGO AS CARGO_DESTINO
FROM
TRANSFERENCIA_FUNCIONARIO TF
RIGHT JOIN CARGO C ON C.COD_CARGO = TF.COD_CARGO_ORIGEM
RIGHT JOIN CARGO C2 ON C2.COD_CARGO = TF.COD_CARGO_DESTINO
INNER JOIN FUNCIONARIO F ON F.COD_FUNCIONARIO = TF.COD_FUNCIONARIO
Desde já agradeço.