Gracias Gonzalo
Lastima que llego tarde tu respuesta
Tal como explique en un post anterior ya lo resolvi desde VFP
Gracias igual
Saludos
PabloC
----- Original Message -----
From: Gonzalo Palacios
To: dbms List Member
Sent: Friday, December 01, 2006 12:13 PM
Subject: [dbms] Registros duplicados
Pablo
Podes hacer lo siguiente:
1)creas una tabla temporal con la misma estructura y que acepte nulos los
campos que no sean
clave.
2)le insertas solo los campos claves de la tabla original "Tabla1" usando el
GROUP BY ó el
DISTINCT
INSERT INTO Tabla2 ( id1, id2 )
SELECT Tabla1.id1, Tabla1.id2
FROM Tabla1
GROUP BY Tabla1.id1, Tabla1.id2
3)actualizas dicha tabla con los datos de la original
UPDATE Tabla2
INNER JOIN Tabla1 ON (Tabla2.id1 = Tabla1.id1)
AND (Tabla2.id2 = Tabla1.id2)
SET Tabla2.c1 = Tabla1.c1,
Tabla2.c2 = Tabla1.c2,
Tabla2.c3 = Tabla1.c3,
Tabla2.c4 = Tabla1.c4
Vas actualizar dos veces cada registro pero como tienen los mismo datos...
Entonces te queda la tabla desduplicada en la temporal "Tabla2".
Espero que te sirva, yo hice una pruebita y andubo.
Saludos
Gonzalo Palacios
Sistemas & Comunicaciones
TTamgo Group
-----Original Message-----
From: "PabloC" <[EMAIL PROTECTED]>
To: "dbms List Member" <[email protected]>
Date: Fri, 1 Dec 2006 11:07:36 -0300
Subject: [dbms] Registros duplicados
> Hola Diego
> Eso es lo que pretendo hacer pero NO puedo hacer group ni distinct por
> el tema de los campos text,ntext e image
>
> Gracias a todos igual, pense que existia algo que desconocia, pero
> todos me orientan hacia lo que ya intente
>
> Saludos
> PabloC
> ----- Original Message -----
> From: Diego Jancic
> To: dbms List Member
> Sent: Friday, December 01, 2006 10:52 AM
> Subject: [dbms] Registros duplicados
>
>
> Se me acaba de ocurrir como lo podes hacer (creo)... crea una tabla
> (temporal o no) con los mismos campos e inserta todos los registros
> unicos (haciendo un distinct o lo que quieras), despues borra todo de
> la tabla original y volve a copiar los registros...
> Acordate de sacar las relaciones antes de hacerlo.... no sea cosa que
> tengas delete en cascada y borres otras tablas :P
>
> Para hacerlo mas facil podes usar el wizard de sql para exportar la
> tabla con los datos (a la misma db pero con otro nombre) y despues
> borras todo de la original, etc, etc... asi por lo menos te evitas
> tener que copiar las 103 columnas a mano...
>
> Saludos!,
> Diego
>
> On 12/1/06, PabloC <[EMAIL PROTECTED]> wrote:
> Hola Carlos, a lo mejor se perdieron el hilo y no leyeron mi primer
> posteo, son 5000 registros duplicados, los 103 campos son exactamente
> iguales.
>
> Saludos
> PabloC
> ----- Original Message -----
> From: Carlos Peix
> To: dbms List Member
> Sent: Thursday, November 30, 2006 8:03 PM
> Subject: [dbms] Registros duplicados
>
>
> Hola Pablo,
>
> Te sugiero darle una mirada a los datos, seguramente vas a
> detectar los registros duplicados por alguna combinacion de campos, no
> creo que necesites comparar los 103 campos.
>
> Si ese es el caso, en tu lugar haria un programa que haga el
> trabajo, 10000 registros no es mucho para eso.
>
> Carlos
>
>
>
> -----------------------------------------------------------------------
> -
> From: [email protected] [mailto: [EMAIL PROTECTED] On Behalf Of
> PabloC
> Sent: Jueves, 30 de Noviembre de 2006 06:18 p.m.
>
> To: dbms List Member
> Subject: [dbms] Registros duplicados
>
>
>
> Gracias Mariano, pero tiene exactamente 103 campos y alguno no
> se porque al hacer lo que me decis me da el error de que no se puede
> agrupar porque son campos text, ntext o image
> Alguna otra idea??
> Se me ocurrio exportarla a excel y filtrarla alli y volver a
> importarla, estoy muy loco???
>
> Saludos
> PabloC
> ----- Original Message -----
> From: Jose Mariano Alvarez
> To: dbms List Member
> Sent: Thursday, November 30, 2006 5:49 PM
> Subject: [dbms] Registros duplicados
>
>
> Para obtener una tabla como la que te deberia quedar hace lo
> siguiente:
> Uun group by por las columnas de la PK y un MAX() de cada una
> de las otras columnas.
>
>
> Tambien podes mirar
> http://support.microsoft.com/kb/139444
>
> Saludos
>
> --
> --------------------------------
> Atte.
> Ing. Jose Mariano Alvarez
>
>
>
> On 11/30/06, PabloC <[EMAIL PROTECTED] > wrote:
> Hola a todos
> Luego de una migracion TOTAL de una DB Sybase, la cual NO
> hice yo, me dejaron una DB en SQL con cientos de tablas, una en
> particular tiene mas de 50 campos y vaya uno a saber porque tengo 10000
> registros de los cuales realemente 5000 son los reales,ya que estan
> todos duplicados.
> NO tengo manera de que me vuelvan a migrar la base y no se
> como hacer en SQL para dejar solo 1 registro por linea.
> En VFP haria un group by y listo el pollo pero en SQL no
> puedo porque tengo que poner todas las columnas y hay algunas que no
> puedo agrupar (campos text por ejemplo )
> Alguna idea de como dejar solo 5000 de los 10000 que
> tengo??
>
>
> Saludos
> PabloC
>
>
>
> --
> --------------------------------
> Atte.
> Ing. Jose Mariano Alvarez
>
>
> __________ Información de NOD32, revisión 1895 (20061201)
> __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
>
>
>
__________ Información de NOD32, revisión 1896 (20061201) __________
Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com