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?