Autor
Mensagem
Pessoal, blz?
Então preciso de uma consulta que busque todos os tipos de documentos associados a um funcionario, fora outros informações de outras tabelas como função, empresa, etc.
Acontece que na tabela de documentos temos os campos:
CODINTFUNC = código do funcionario
NRDOCTO = numero do documento
TIPODOC = tipo do documento (CPF,CTPS,CNH, etc).
Acontece que eu preciso do CPF e CTPS do funcionário fora as outras informações de outras tabelas, e o numero do CPF e do CTPS estão no mesmo campo NRDOCTO difenrenciando o TIPO.
Criei um select assim:
mas nao me retornou nada... como proceder?
Desde já agradeço...
Então preciso de uma consulta que busque todos os tipos de documentos associados a um funcionario, fora outros informações de outras tabelas como função, empresa, etc.
Acontece que na tabela de documentos temos os campos:
CODINTFUNC = código do funcionario
NRDOCTO = numero do documento
TIPODOC = tipo do documento (CPF,CTPS,CNH, etc).
Acontece que eu preciso do CPF e CTPS do funcionário fora as outras informações de outras tabelas, e o numero do CPF e do CTPS estão no mesmo campo NRDOCTO difenrenciando o TIPO.
Criei um select assim:
#Código
SELECT DISTINCT
DECODE(F.CODIGOEMPRESA,1,EMPRESA DE ONIBUS VILA GALVAO LTDA,
2,ABC TRANSPORTES COLETIVOS VALE DO PARAIBA LTDA,
3,RAPIDO DOESTE LTDA,
4,CISNE BRANCO TRANSPORTES E TURISMO LTDA,
5,NIFF EMPREENDIMENTOS E PARTICIPACOES LTDA,
6,VIACAO ARUJA LTDA,
7,VGI ADMINISTRACAO DE BENS E PARTICIPACOES LTDA,
8,VIACAO TRANSNORTE LTDA,
9,EXPRESSO CAMPIBUS LTDA,
13,RIBE TRANSPORTES LTDA)EMPRESA,
DECODE(F.CODIGOEMPRESA,1,49.068.737/0001-35,
2,45.176.864/0001-05,
3,55.958.318/0001-71,
4,06.767.974/0001-81,
5,08.834.514/0001-54,
6,00.472.135/0001-50,
7,09.138.837/0001-76,
8,VIACAO TRANSNORTE LTDA,
9,07.286.417/0002-92,
13,RIBE TRANSPORTES LTDA)CNPJ,
CPF.NRDOCTO CPF,
CTPS.NRDOCTO CTPS,
CTPS.CTPSSERIEDOCTO SERIE,
F.CHAPAFUNC CHAPA,
FU.DESCFUNCAO CARGO,
F.NOMEFUNC NOME,
H.CODAREA AREA
FROM
(SELECT D1.NRDOCTO
FROM FLP_DOCUMENTOS D1,
FLP_FUNCIONARIOS F1
WHERE F1.CODINTFUNC = D1.CODINTFUNC
AND D1.TIPODOCTO = CPF)CPF,
(SELECT D2.NRDOCTO, D2.CTPSSERIEDOCTO
FROM FLP_DOCUMENTOS D2,
FLP_FUNCIONARIOS F2
WHERE F2.CODINTFUNC = D2.CODINTFUNC
AND D2.TIPODOCTO = CTPS)CTPS,
FLP_FUNCIONARIOS F,
FLP_HISTORICOSALARIAL H,
FLP_FUNCAO FU,
FLP_DOCUMENTOS D
WHERE F.CHAPAFUNC = 000001
AND (F.SITUACAOFUNC = A OR F.SITUACAOFUNC = F)
AND FU.CODFUNCAO = H.CODFUNCAO
AND F.CODINTFUNC = H.CODINTFUNC
AND D.NRDOCTO = CTPS.NRDOCTO
AND D.NRDOCTO = CPF.NRDOCTO
AND D.CODINTFUNC = F.CODINTFUNC
DECODE(F.CODIGOEMPRESA,1,EMPRESA DE ONIBUS VILA GALVAO LTDA,
2,ABC TRANSPORTES COLETIVOS VALE DO PARAIBA LTDA,
3,RAPIDO DOESTE LTDA,
4,CISNE BRANCO TRANSPORTES E TURISMO LTDA,
5,NIFF EMPREENDIMENTOS E PARTICIPACOES LTDA,
6,VIACAO ARUJA LTDA,
7,VGI ADMINISTRACAO DE BENS E PARTICIPACOES LTDA,
8,VIACAO TRANSNORTE LTDA,
9,EXPRESSO CAMPIBUS LTDA,
13,RIBE TRANSPORTES LTDA)EMPRESA,
DECODE(F.CODIGOEMPRESA,1,49.068.737/0001-35,
2,45.176.864/0001-05,
3,55.958.318/0001-71,
4,06.767.974/0001-81,
5,08.834.514/0001-54,
6,00.472.135/0001-50,
7,09.138.837/0001-76,
8,VIACAO TRANSNORTE LTDA,
9,07.286.417/0002-92,
13,RIBE TRANSPORTES LTDA)CNPJ,
CPF.NRDOCTO CPF,
CTPS.NRDOCTO CTPS,
CTPS.CTPSSERIEDOCTO SERIE,
F.CHAPAFUNC CHAPA,
FU.DESCFUNCAO CARGO,
F.NOMEFUNC NOME,
H.CODAREA AREA
FROM
(SELECT D1.NRDOCTO
FROM FLP_DOCUMENTOS D1,
FLP_FUNCIONARIOS F1
WHERE F1.CODINTFUNC = D1.CODINTFUNC
AND D1.TIPODOCTO = CPF)CPF,
(SELECT D2.NRDOCTO, D2.CTPSSERIEDOCTO
FROM FLP_DOCUMENTOS D2,
FLP_FUNCIONARIOS F2
WHERE F2.CODINTFUNC = D2.CODINTFUNC
AND D2.TIPODOCTO = CTPS)CTPS,
FLP_FUNCIONARIOS F,
FLP_HISTORICOSALARIAL H,
FLP_FUNCAO FU,
FLP_DOCUMENTOS D
WHERE F.CHAPAFUNC = 000001
AND (F.SITUACAOFUNC = A OR F.SITUACAOFUNC = F)
AND FU.CODFUNCAO = H.CODFUNCAO
AND F.CODINTFUNC = H.CODINTFUNC
AND D.NRDOCTO = CTPS.NRDOCTO
AND D.NRDOCTO = CPF.NRDOCTO
AND D.CODINTFUNC = F.CODINTFUNC
mas nao me retornou nada... como proceder?
Desde já agradeço...
Flavio, tenta colocar o select abaixo antes do FROM, para que ele trabalho como uma coluna, entende?
Se vc coloca depois do FROM ele trabalha como uma tabela!
Testa aí!
Att
#Código
(SELECT D1.NRDOCTO
FROM FLP_DOCUMENTOS D1,
FLP_FUNCIONARIOS F1
WHERE F1.CODINTFUNC = D1.CODINTFUNC
AND D1.TIPODOCTO = CPF)CPF,
(SELECT D2.NRDOCTO, D2.CTPSSERIEDOCTO
FROM FLP_DOCUMENTOS D2,
FLP_FUNCIONARIOS F2
WHERE F2.CODINTFUNC = D2.CODINTFUNC
AND D2.TIPODOCTO = CTPS)CTPS
FROM FLP_DOCUMENTOS D1,
FLP_FUNCIONARIOS F1
WHERE F1.CODINTFUNC = D1.CODINTFUNC
AND D1.TIPODOCTO = CPF)CPF,
(SELECT D2.NRDOCTO, D2.CTPSSERIEDOCTO
FROM FLP_DOCUMENTOS D2,
FLP_FUNCIONARIOS F2
WHERE F2.CODINTFUNC = D2.CODINTFUNC
AND D2.TIPODOCTO = CTPS)CTPS
Se vc coloca depois do FROM ele trabalha como uma tabela!
Testa aí!
Att






