Ir para conteúdo

Arquivado

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

losam

melhor maneira de desenvolver esse select

Recommended Posts

Bom dia, eu estou tentando fazer um select em uma tabela de clientes que me retorne os clientes diferentes que tenham o mesmo endereço, só que como a base é um pouco grande, a consulta acaba demorando muito e eu gostaria de saber se tem como dar uma melhorada no sql

 

select c.nome, ce.endereco
from clientes c
    inner join clienteendereco ce on c.filial=ce.filial and c.campanha=ce.campanha and c.codigo=ce.codigo
    inner join clienteendereco ce2 on c.filial=ce2.filial and c.campanha=ce2.campanha and c.codigo<>ce2.codigo
where c.filial=1 and c.campanha=78 and ce.cidade=ce2.cidade and ce.endereco=ce2.endereco

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

losam, tente deste modo, mas se atente aos seis JOINS para alterar na sintaxe abaixo:

 select * from(select count(*), codigofrom clienteendereco group by codigohaving count(*) > 1) enderecoinner join clientes clon endereco.codigo = cl.codigo 
[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi ...

 

 

select c1.endereco , c1.codigo
from clienteendereco c1
where exists (select null
              from clienteendereco c2
              where c2.endereco = c1.endereco
              and c2.codigo <> c1.codigo) 
order by 1,2

 

Mas pode demorar se não tiver índice ...

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.