Select

SQL Server

03/08/2006

Gostaria de saber como faço para selecionar todos os registros de uma tabela que possuam mais de uma instância, tipo:

Suponhamos que eu tenha uma tabela de atendimentos que tem os campos:

cod_atend, data_atend, cod_cliente.

Com os seguintes registros:

1, 01/08/2006, 5
2, 01/08/2006, 1
3, 01/08/2006, 2
4, 01/08/2006, 5
5, 01/08/2006, 1
6, 02/08/2006, 3
7, 02/08/2006, 4

tenho sete atendimentos onde no dia 01/08 o cliente 5 e o cliente 1 foram atendidos duas vezes, então gostaria de saber como fazer para o meu select retornar apenas esses quatro registros:

1, 01/08/2006, 5
4, 01/08/2006, 5
2, 01/08/2006, 1
5, 01/08/2006, 1


Dgsfilho

Dgsfilho

Curtidas 0

Respostas

Psergio.p

Psergio.p

03/08/2006

Ficaria assim:

SELECT cod_atend,data_atend,cod_cliente
FROM atendimento
WHERE EXISTS(SELECT COUNT(ate.cod_cliente) FROM atendimento ate
WHERE ate.cod_cliente = atendimento.cod_cliente AND ate.data_atend = atendimento.data_atend
HAVING COUNT(ate.cod_cliente) > 1)


GOSTEI 0
Wagnerbianchi

Wagnerbianchi

03/08/2006

Olá DGSFilho,

Você não gostaria de retornar os nomes dos clientes também?

Abraço!!


GOSTEI 0
Dgsfilho

Dgsfilho

03/08/2006

Sim, mas já consigo isso fazendo uma join, eu só não sabia fazer aparecer os registro repetidos. Obrigado pela antenção wagnerbianchi


GOSTEI 0
Wagnerbianchi

Wagnerbianchi

03/08/2006

Disponha. . .qualquer outra dúvida, continue usando o fórum!!

:wink:


GOSTEI 0
POSTAR