FoxPro/Visual FoxPro - ELIMINAR DUPLICIDAD

 
Vista:

ELIMINAR DUPLICIDAD

Publicado por Chavez (99 intervenciones) el 17/05/2007 16:10:29
Tengo una tabla a la cual necesito eliminar los registros duplicados

el campo de referencia es la cedula, pero si tengo tres cedula de la misma elimine dos y conserve una

ayuda urgente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:ELIMINAR DUPLICIDAD

Publicado por Ernesto Hernandez (4623 intervenciones) el 17/05/2007 17:21:18
PUEDES hacer algo asi

SELECT COUNT(*);
FROM MITABLA ;
GROUP BY ceduladDate, Voucher, cType;
HAVING countrec > 2;
INTO CURSOR cduplicados

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR DUPLICIDAD

Publicado por Chavez (99 intervenciones) el 17/05/2007 17:28:35
Prove con algo asi y no me funcionó

SELECT COUNT(*) FROM t_personal GROUP BY ps_codigo, ps_cedula HAVING COUNT (*) > 2 INTO CURSOR cduplicados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR DUPLICIDAD

Publicado por Chavez (99 intervenciones) el 17/05/2007 17:47:41
el cursor contiene solo algunos datos
ejemplo
3
3
3
4
3
3

lo me interesano es saber si hay duplicidad sino mas bien eliminar la duplicidad
quiero algun godigo que busque los registro duplicados y los elimine
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR DUPLICIDAD

Publicado por Chavez (99 intervenciones) el 17/05/2007 17:48:10
el cursor contiene solo algunos datos
ejemplo
3
3
3
4
3
3

lo que me interesa no es saber si hay duplicidad, sino mas bien eliminar la duplicidad quiero algun codigo que busque los registro duplicados y los elimine
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR DUPLICIDAD

Publicado por adrian (228 intervenciones) el 17/05/2007 17:57:50
Yo lo hago asi:

use mitabla && tabla original

copy stru to mitabla2

go top
do while.not.eof()
rec=recno()
scatter memvar
use mitabla2
locate for cedula=m.cedula && verifica si ese registro ya existe
if.not.found() && si no esta,
appe blan && abre un registro en blanco
gather memvar && y graba los otros campos
endif
use mitabla && Vuelve a la tabla original
locate for recno()=rec && localiza el registro procesado
skip && salta al siguiente y sigue el ciclo hasta EOF
enddo

En mitabla2 quedaran unicamente los registros que no estan duplicados, Si?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR DUPLICIDAD

Publicado por Chavez (99 intervenciones) el 17/05/2007 18:16:00
Que Dios ilumine tu conocimiento cada dia mas, gracias Adrian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ELIMINAR DUPLICIDAD

Publicado por Ernesto Hernandez (4623 intervenciones) el 17/05/2007 18:29:47
select key_field from (table_name) group by 1 having cnt(*) >1 into curs ctemp
index on key_field tag key_field
sele (table_name)
set rela to key_field into ctemp
brow for not eof("ctemp") title "Duplicate records"
dele for not eof("ctemp")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar