Jump to content
Sign in to follow this  
Mauricio Sales

SQL<b> (Resolvido)</b>

Recommended Posts

Olá

Estou com um problema em uma sentença SQL, ela está repetindo os registros, são 7 registros e a sentença está trazendo 35.

Alguém pode me dar um help????

Segue abaixo a sentença:

select f.numerodocumento, c.nomefantasia, f.historico, f.datavencimento, f.valororiginal

from fcfo c, flan f, gccusto g

where f.codcfo = c.codcfo

and f.codccusto = g.codccusto

and f.codcoligada = g.codcoligada

and f.pagrec = '1'

and f.statuslan in ('0','1')

AND F.datavencimento >=:DATAINICIO AND

F.datavencimento <=:DATAFIN

AND G.NOME =:CENTROCUSTO

ORDER BY f.dataop1

Agradeço a atenção

Share this post


Link to post
Share on other sites

Pessoal

coloquei a sentença errada, a que está dando problema está abaixo:

select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

from fcfo c, flan f, ftb1 g

where f.codcfo = c.codcfo

AND F.CODTB1FLX= G.CODTB1FLX

AND f.datavencimento >=:DATAINICIO

AND f.datavencimento <=:DATAFIN

AND G.CODTB1FLX=:CONTASOPERACIONAIS

AND f.pagrec = '2'

AND f.statuslan = '1'

order by f.datavencimento desc

Agradeço a atenção

Share this post


Link to post
Share on other sites
Pessoal

coloquei a sentença errada, a que está dando problema está abaixo:

select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

from fcfo c, flan f, ftb1 g

where f.codcfo = c.codcfo

AND F.CODTB1FLX= G.CODTB1FLX

AND f.datavencimento >=:DATAINICIO

AND f.datavencimento <=:DATAFIN

AND G.CODTB1FLX=:CONTASOPERACIONAIS

AND f.pagrec = '2'

AND f.statuslan = '1'

order by f.datavencimento desc

Agradeço a atenção

Mauricio,

faltou relacionar alguns campos entre as tabelas envolvidas. Segue o correto:

Select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

From fcfo c, flan f, ftb1 g

Where f.codcfo = c.codcfo AND f.CODCOLCFO = c.CODCOLIGADA

and F.CODTB1FLX= G.CODTB1FLX AND F.CODCOLIGADA = G.CODCOLIGADA

and f.datavencimento >=:DATAINICIO and f.datavencimento <=:DATAFIN

and G.CODTB1FLX=:CONTASOPERACIONAIS

and f.pagrec = '2' and f.statuslan = '1'

order by f.datavencimento desc

Veja ae se resolve... Deve ser isso mesmo. Vc deve ter os mesmos códigos de CLIFOR ou mesmo de CCustos em mais de uma coligada.

por sinal, não é o caso de filtrar também por este campo (f.CODCOLIGADA) ?

Share this post


Link to post
Share on other sites
Mauricio,

faltou relacionar alguns campos entre as tabelas envolvidas. Segue o correto:

Select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

From fcfo c, flan f, ftb1 g

Where f.codcfo = c.codcfo AND f.CODCOLCFO = c.CODCOLIGADA

and F.CODTB1FLX= G.CODTB1FLX AND F.CODCOLIGADA = G.CODCOLIGADA

and f.datavencimento >=:DATAINICIO and f.datavencimento <=:DATAFIN

and G.CODTB1FLX=:CONTASOPERACIONAIS

and f.pagrec = '2' and f.statuslan = '1'

order by f.datavencimento desc

Veja ae se resolve... Deve ser isso mesmo. Vc deve ter os mesmos códigos de CLIFOR ou mesmo de CCustos em mais de uma coligada.

por sinal, não é o caso de filtrar também por este campo (f.CODCOLIGADA) ?

funcionou sim Jair e tenho os mesmos códigos sim, como ficaria se eu tiver que filtrar pela coligada?

Meu conhecimento em SQL é bem básico, por isso te pergunto.

Obrigado pela atenção

Abraço

Share this post


Link to post
Share on other sites
funcionou sim Jair e tenho os mesmos códigos sim, como ficaria se eu tiver que filtrar pela coligada?

Meu conhecimento em SQL é bem básico, por isso te pergunto.

Obrigado pela atenção

Abraço

Ficaria assim...

Select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

From fcfo c, flan f, ftb1 g

Where f.codcfo = c.codcfo AND f.CODCOLCFO = c.CODCOLIGADA

and F.CODTB1FLX= G.CODTB1FLX AND F.CODCOLIGADA = G.CODCOLIGADA -- Recomendação: faça relacionamentos por JOIN e não diretamente no WHERE

and f.datavencimento >=:DATAINICIO and f.datavencimento <=:DATAFIN

and G.CODTB1FLX=:CONTASOPERACIONAIS

and f.pagrec = '2' and f.statuslan = '1' --pode tirar estas aspas por se tratar de numérico, fica melhor o desempenho.

AND F.CODCOLIGADA = 1 -- :)

order by f.datavencimento desc

Share this post


Link to post
Share on other sites
Ficaria assim...

Select f.codtb1flx, g.descricao, f.dataemissao, f.numerodocumento, c.nomefantasia, f.dataop1, f.valororiginal,

f.valorbaixado, f.datavencimento, f.databaixa, f.historico

From fcfo c, flan f, ftb1 g

Where f.codcfo = c.codcfo AND f.CODCOLCFO = c.CODCOLIGADA

and F.CODTB1FLX= G.CODTB1FLX AND F.CODCOLIGADA = G.CODCOLIGADA -- Recomendação: faça relacionamentos por JOIN e não diretamente no WHERE

and f.datavencimento >=:DATAINICIO and f.datavencimento <=:DATAFIN

and G.CODTB1FLX=:CONTASOPERACIONAIS

and f.pagrec = '2' and f.statuslan = '1' --pode tirar estas aspas por se tratar de numérico, fica melhor o desempenho.

AND F.CODCOLIGADA = 1 -- :)

order by f.datavencimento desc

Muito obrigado pela ajuda, a sentença funcionou direitinho.

Valeu

Share this post


Link to post
Share on other sites

Aviso Sobre MultiModeração para Membros

Que bom que resolveu o problema.

Agora no fórum existe o esquema de multimoderação onde o próprio usuário que abriu o post pode marcar como resolvido.

Dá uma olhada no link abaixo que mostra como fazer.

http://www.forumrm.com.br/index.php?showtopic=1555

:) Agradeceríamos se nos ajudasse já marcando o seu tópico sempre que resolvido.

Share this post


Link to post
Share on other sites

Tópico Fechado / Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título.

Se preferir, mande um email para admin@forumrm.com.br solicitando.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.