FoxPro/Visual FoxPro - ayuda con Simple SQL

 
Vista:

ayuda con Simple SQL

Publicado por AtencioN (19 intervenciones) el 18/04/2001 21:48:58
Necesito eliminar registros duplicados de una tabla con un indice compuesto. pero no logro conseguir los registros que estan duplicados.....
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

Select count()

Publicado por Antonio Vazquez Morales (173 intervenciones) el 18/04/2001 22:21:52
Prueba este SELECT, donde (campo) es el campo llave para obtener los duplicados

SELECT count (campo), campo FROM table1 GROUP BY campo
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:Select count()

Publicado por el mismo que píde ayuda (19 intervenciones) el 18/04/2001 22:32:14
Ya lo probe de esa forma pero el campo llave es compuesto y en eel group by creo que no me lo permite ponerlo asi...
campo1+campo2..........
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:ayuda con Simple SQL

Publicado por DALSOM (612 intervenciones) el 18/04/2001 22:23:15
mira, si lo que quieres es seleccionar los registros desde un sql, aun no lo he resuelto desde el sql, pero si lo logras me avisas.

POR EL MOMENTO, lo resolvi a la antiguita, con un scan for/endscan, uno a uno, verificando si cumple con la condicion, y guardandolos en una temporal. para luego usar la temporal con un alias y exclusiva para poder indexarlos a mi gusto.

Espero haberte ayudado.
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

Otravez ayuda con Simple SQL

Publicado por el mismo (19 intervenciones) el 18/04/2001 22:34:35
pero como hago para saber cual es el original con la inf buena y cual es el duplicado que contiene inf mala(el cual debo eliminar)
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

??????? ayuda con Simple SQL

Publicado por Otravez yo (19 intervenciones) el 18/04/2001 22:36:37
Si la relaciono con ella misma como hago para saber cuales de los registros tienen en la relacion mas de un registro relacionado
se puede hacer eso ?????????
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

No te mortifiques...

Publicado por Antonio Vazquez Morales (173 intervenciones) el 18/04/2001 23:48:52
No te preucopes tanto, en realidad debes de analizar un poco mas tu problema.

Primero preocupate por encontrar los cuplicados y despues que ya los tengas borralos dejando solo uno, ¿Que cual es el bueno y cual el malo? No hay bueno ni malo, recuerda que son IDENTICOS, borra los que quieras y deja solo uno

El "select COUNT(*), campo1,campo2, campoN from tabla group by campo1 INTO TABLE duplicados"

Si funciona, te resuelve el punto uno. El group by solo funciona para un solo campo, NO PUEDES AGRUPAR POR MAS DE UNO.

Ahora que ya tienes los duplicados, buscalos en tu tabla original y con una rutina borralos.

No puedes crear una relacion entre una misma tabla y despues borrar registro de esta misma tabla relacionada...
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:Ayuda SQL, prueba esto

Publicado por Raul V (20 intervenciones) el 20/04/2001 16:09:55
hola espero poder ayudarte, entiendo que tienes registros duplicados, supongo que son iguales, no entendí bien lo de inf, mala y buena.

Una forma es:
-Seleccionar los registros sin repetir.
-Guardarlos en un auxiliar.
-Borrar la tabla original.
-Guardar denuevo desde la auxiliar.

Para seleccionar sin repetir, colocas DIST alfinal del select, esto seleccionará un registro sin repetir.
Hay que recordar que SQl trabaja en base a considerar a los registros elementos de un conjunto y los selecciona a todos, si le pones DISTINCT solo toma de a uno.
Da miedo borrar todaa la tabla, es una alternativa.

Otra cosa, el GROUP, si funciona con varios campos. Si usas GROUP BY con los campos claves tendrías un efecto igual o mejor.
Aunque con distinct, selecciona los que tengan algo diferente, pero con group by, evita que se dupliquen las claves, puede ser mejor.

Espero que te sirva

Saludos
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