Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Suponiendo que: Tabla es el nombre de la tabla, Campo_ID el campo clave y CampoX el que puede repetirse, yo haría:
Código SQL [-]
DELETE FROM Tabla A
WHERE Campo_ID > (SELECT min(Campo_ID) FROM Tabla B
WHERE B.CampoX = A.CampoX);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 22-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
me estoy volviendo loco, les comento

DELETE FROM base WHERE base.id IN (SELECT DISTINCTROW base.id FROM base WHERE (((base.id) In (SELECT [id] FROM [base] As Tmp GROUP BY [id] HAVING Count(*)>1 ))) ORDER BY base.id)

esto en access funciono, contra sqlserver (microsoft V7) no funciona, si alquien puede saber algo les encargo
gracias
hugo
Responder Con Cita
  #3  
Antiguo 25-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
parece que a nadie se le ocurre algo, que lio para mi, juas
gracias
hugo
Responder Con Cita
  #4  
Antiguo 25-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
En access los corchetes [ ] funcionan en otras BD no.
Tambien pasa lo mismo con el HAVING y el DISTINCTROW.
Tal vez:
Código SQL [-]
DELETE FROM base WHERE base.id IN (SELECT DISTINCT base.id FROM base WHERE (((base.id) In (SELECT id  FROM base As Tmp Where Count(*)>1 GROUP BY [id] ))) ORDER BY base.id)
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 25-07-2010
calco_hugo calco_hugo is offline
Miembro
 
Registrado: jul 2010
Posts: 42
Poder: 0
calco_hugo Va por buen camino
no funciono, pero desde ya te agradezco que contestes un domingo
hugo
Responder Con Cita
  #6  
Antiguo 05-12-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por ecfisa Ver Mensaje
Suponiendo que: Tabla es el nombre de la tabla, Campo_ID el campo clave y CampoX el que puede repetirse, yo haría:
Código SQL [-]
DELETE FROM Tabla A
WHERE Campo_ID > (SELECT min(Campo_ID) FROM Tabla B
WHERE B.CampoX = A.CampoX);
¡Ah bárbaro! Excelente idea. No me sirvió tal cual, quizá por una limitación de MySQL pero me quedó usando una tabla auxiliar.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
mostrar registros repetidos jmlifi SQL 3 20-10-2011 21:15:50
Registros repetidos alegarreta SQL 6 16-04-2010 20:59:51
Eliminar Registros Repetidos en FireBird Blasito Firebird e Interbase 4 18-02-2009 16:03:22
Registros repetidos enecumene PHP 9 01-02-2007 18:17:04


La franja horaria es GMT +2. Ahora son las 10:51:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi