Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta Delete Con Un Having

Estas en el tema de Consulta Delete Con Un Having en el foro de Mysql en Foros del Web. Hola a todos. Quiero borrar los registros residuales(duplicados) de mi BD. De manera que previamente, para localizarlos he creado la siguiente consulta, que parece ser ...
  #1 (permalink)  
Antiguo 21/02/2007, 16:40
 
Fecha de Ingreso: diciembre-2004
Mensajes: 12
Antigüedad: 19 años, 4 meses
Puntos: 0
Consulta Delete Con Un Having

Hola a todos.

Quiero borrar los registros residuales(duplicados) de mi BD. De manera que previamente, para localizarlos he creado la siguiente consulta, que parece ser correcta:

SELECT campo,COUNT(campo) FROM tabla GROUP BY campo HAVING Count(campo) > 1

Ahora bien, cómo los puedo eliminar?? No logro dar con una consulta DELETE correcta. De hecho creo que DELETE no soporta HAVING en su sintaxis.

Alguien sabe como puedo eliminar los registros que me genera ese select?
Estoy cerquita...

Gracias de antemano
  #2 (permalink)  
Antiguo 21/02/2007, 17:06
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Consulta Delete Con Un Having

A mi solo se me ocurre mediante un stored procedure xo estos solo son aceptados a partir de la version 5.

Con subquerys no me deja ya que me dice que no puedo borrar algo de la tabla que usa la subquery... # 360: Cannot modify table or view used in subquery. Lo he probado en informix xo supongo que mysql tampoco te deja. :(

Última edición por Pitu.; 21/02/2007 a las 17:24
  #3 (permalink)  
Antiguo 23/02/2007, 11:01
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Consulta Delete Con Un Having

Yo creo que una subconsulta (subquery la llama pitu) de esta forma si debe funcionar:

Código:
DELETE FROM tabla where id IN (
	SELECT id FROM tabla GROUP BY campo HAVING Count(campo) > 1
)
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #4 (permalink)  
Antiguo 18/03/2007, 15:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 12
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Consulta Delete Con Un Having

Gracias Lord, lo solucioné.

Habia que usar ciertamente GROUP BY...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:56.