Trazer o gestor de um empregado dentro da mesma tabela

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

Tenho uma tabela de empregados. Essa tabela não define quem é gestor de quem. Porem tenho uma outra tabela que tem dois campos, CODFUNC e CODSUP. CODSUP é o gestor de CODFUNC. Ok, isso melhora. Agora, eu preciso trazer no select o Funcionário na tabela EMPREGADOS e o seu respectivo gestor. O campo na tabela EMPREGADOS é o campo chave PKSF_CHAPA. Eu não estou conseguindo fazer um join na tabela HIER_SAP que traga o Funcionário e o Gestor do mesmo. Meu select está repetindo os mesmos caras, ou seja, JOÃO e gestor JOÃO, MARIA e gestor MARIA. Não consegui fazer diferente.

Selecionar tudo

SELECT
         PAN.ATSF_NOME,
         GE.ATSF_NOME AS GESTOR,
         PAN.PKSF_CHAPA,
         PAN.FKSF_CCUSTO,
         QUA.ATSF_FUN_PORT_EXT AS CARGO,
         COMP.ATSF_CO_PORT_EXT AS UO,         
         'P',
         '1'
     FROM 
         PANA101V_EMPREGADO PAN 
         INNER JOIN TAKB100T_EMPREGADO  EMP  ON PAN.PKSF_CHAPA = EMP.PKND_NUMERO_PESSOAL
         INNER JOIN PANA004T_COMPONENT COMP ON COMP.PKSF_COMP_ORGAN = PAN.FKND_COMP_ORGAN
         LEFT JOIN  PANA001T_QUALIFICA QUA ON QUA.PKSF_FUNCAO_NIVEL = PAN.FKSF_FUNCAO
Agora não estou conseguindo colocar a tabela HIER_SAP nesse join. A tabela HIER_SAP tem os campos CODSUP e CODFUNC que se relaciona com a tabela PANA101V_EMPREGADOS pelo campo PKSF_CHAPA. Tentei isso, mas no join não funciona

Selecionar tudo

SELECT
         S.CODFUNC,
         S.CODSUP,
         P.ATSF_NOME
         FROM TAKB437T_HIER_SAP S INNER JOIN PANA101V_EMPREGADO P ON S.CODFUNC = P.PKSF_CHAPA
         WHERE CODFUNC IN( SELECT PKND_NUMERO_PESSOAL FROM TAKB100T_EMPREGADO)
A subquery será substituída por um código PKSF_CHAPA que vem como parâmetro. Fiz assim, apenas para testes e tem muito registro na HIER_SAP que não corresponde na EMPREGADOS, por isso a subquery.

Como resolvo isso?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes