DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Flavio Dogevaldo Silva
 

País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 20/10/2011 4:25:24 PM

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:

#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


mas nao me retornou nada... como proceder?

Desde já agradeço...
Bretas
 
 


País: Brasil
Estado: MT
Cidade: Cuiabá
Mensagens: 189
 Postado em: 21/10/2011 11:25:05 AM
Flavio, tenta colocar o select abaixo antes do FROM, para que ele trabalho como uma coluna, entende?

#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


Se vc coloca depois do FROM ele trabalha como uma tabela!

Testa aí!

Att

 
Flavio Dogevaldo Silva
 

País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 24/10/2011 2:32:54 PM
Valeu mesmo man...

Deu certinho... obrigado.

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03