Como devo fazer o DELETE para excluir da minha tabela cliente todas as linhas onde o campo data é igual? (por exemplo, se tenho duas datas 2004-11-04, deleta uma e fica outra)

Sql Server
Started By Vanessa Piti, 12/11/2004, 15:26
1 reply to this topic
#1
Posted 12/11/2004, 15:26
Vanessa Pavlak
Web Design - Design Gráfico - Redação
emaildavanessa@gmail.com - Curitiba - PR
http://spaces.msn.co...rs/vanessahaha/
Gosta de Arte Moderna? visite: http://www.indiafilipin.com
Gosta de Samba? visite:http://www.cpidosamba.com
Gosta de Rock? visite:http://www.planetaunderground.com.br
Web Design - Design Gráfico - Redação
emaildavanessa@gmail.com - Curitiba - PR
http://spaces.msn.co...rs/vanessahaha/
Gosta de Arte Moderna? visite: http://www.indiafilipin.com
Gosta de Samba? visite:http://www.cpidosamba.com
Gosta de Rock? visite:http://www.planetaunderground.com.br
#2
Posted 12/11/2004, 15:48
Você esta em SQL Server né? Bem, da pra usar este comando:
Como este comando vai proceder?
Execute primeira o subselect para você observar os resultados que são retornados:
Este vai trazer como resultado o MAXIMO id encontrado para todos os registros que tiverem repetição, no caso igual ou maior a 2.
Este comando funciona, porém, se houverem casos de existir, não somente 2, mas 3 repetições, este comando terá se ser executado diversas vezes, até que não existam mais repetições.
delete from tabela where id in (select max(id) from tabela group by data having count(data) >= 2)
Como este comando vai proceder?
Execute primeira o subselect para você observar os resultados que são retornados:
select max(id) from tabela group by data having count(data) >= 2
Este vai trazer como resultado o MAXIMO id encontrado para todos os registros que tiverem repetição, no caso igual ou maior a 2.
Este comando funciona, porém, se houverem casos de existir, não somente 2, mas 3 repetições, este comando terá se ser executado diversas vezes, até que não existam mais repetições.
------
Mero mortal!
Mero mortal!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)