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 > > >
