Jump to content
Sign in to follow this  
will_jdc

LEFT JOIN ESTA DUPLICANDO OS RESULTADOS

Recommended Posts

Boa tarde a Todos,

 

Estou fazendo uma consulta onde preciso de informações em duas tabelas "Chamados" e "Acompanhamentos".

Preciso listar Todos os Chamados e saber quais chamados tem acompanhamentos, porém quando eu executo o Código,

Retorna Todos os Chamados(Esta correto), e se tiver algum acompanhamento ele lista novamente esse chamado

(ficando assim Duplicado). Abaixo meu código.

 

select Distinct(a.CodChamado), a.CliNome, a.Solicitante, a.Suporte, a.Situacao, a.Descricao, a.DataSolicitacao,a.CodCliente, b.Atualizado from Chamados as a left join AcompChamado as b on a.CodChamado = b.CodChamado where Situacao = 'A' and Tipo = 'D' and
Atualizado = 'S' order by DataSolicitacao

 

Me Ajuda ai Galera...

 

Share this post


Link to post
Share on other sites

Normal pois no caso de mais de um AcompChamado para um Chamados isto foi ocorrer.

 

Uma solução possível

select a.CodChamado , a.CliNome, a.Solicitante, a.Suporte, a.Situacao, a.Descricao, a.DataSolicitacao,a.CodCliente, count(b.Atualizado) acomps 
from Chamados as a 
left join AcompChamado as b on a.CodChamado = b.CodChamado 
where Situacao = 'A'and 
Tipo = 'D' and
Atualizado = 'S'
group by a.CodChamado , a.CliNome, a.Solicitante, a.Suporte, a.Situacao, a.Descricao, a.DataSolicitacao,a.CodCliente
order by DataSolicitacao

Share this post


Link to post
Share on other sites

Motta Valeu pela Dica,

Mas eu já tinha tentado assim. Eu preciso Que liste todos os chamados porem não pode duplicar se existir na tabela

AcompChamado e pelo Fato de eu esta usando um "Left Join" pra saber da informação "Atualizado" ele duplica o

pedido se o AcompChamado.Atualizado = 'S'.

Share this post


Link to post
Share on other sites

Se existir mais de um "acomp" vai duplicar não tem jeito.

 

Em todo caso publique um exemplo de como estão os dados e como quer exibí-los.

Share this post


Link to post
Share on other sites

em um select simples, quais campos estao vindo com dados diferentes para um mesmo chamado?

 

 

select a.CodChamado
, a.CliNome
, a.Solicitante
, a.Suporte
, a.Situacao
, a.Descricao
, a.DataSolicitacao
,a.CodCliente
, b.Atualizado 
from Chamados as a left join AcompChamado as b on a.CodChamado = b.CodChamado 
where Situacao = 'A' 
and Tipo = 'D' 
and Atualizado = 'S' 
-- order by DataSolicitacao
group by a.CodChamado
, a.CliNome
, a.Solicitante
, a.Suporte
, a.Situacao
, a.Descricao
, a.DataSolicitacao
,a.CodCliente
, b.Atualizado
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.