Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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'.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.