Access - consulta de seleccion devuelve registros dobles

 
Vista:

consulta de seleccion devuelve registros dobles

Publicado por Sofia (2 intervenciones) el 08/10/2004 18:27:07
Tengo una consulta de seleccion en la que relacion por medio de un 'JOIN', una tabla y una consulta, el problema es que cuando se ejecuta, me devuelve los resultados repetidos...es decir, si tengo 10 registros de la primera consulta que cumplen con el criterio que pido y que se relacionan con la tabla, en la consulta final me pone 20 registros...no se que estoy haciendo mal, lo he hecho antes y me ha funcionado bien...

Esta es la sentencia SQL con la que ejecuto la consulta:
SELECT busqueda.reg_pat, busqueda.nombre_pat, busqueda.domicilio_pat, busqueda.credito, busqueda.periodos, busqueda.monto_cop, busqueda.monto_rcv, busqueda.fecha_nd, busqueda.folio, busqueda.coordinador, busqueda.fecha_entrega_c, [patrones asignados al localizador].localizador
FROM [patrones asignados al localizador] INNER JOIN busqueda ON [patrones asignados al localizador].[registro patron_l] = busqueda.reg_pat;
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
Imágen de perfil de Alejandro

Solución para eliminar registros duplicados en una consulta de selección mediante cláusula DISTINCT

Publicado por Alejandro (4142 intervenciones) el 12/05/2023 16:45:56
En la consulta que has proporcionado, es posible que la duplicación de registros se deba a que hay múltiples coincidencias entre las tablas relacionadas en la cláusula JOIN. Esto puede suceder si hay varios registros en la tabla "[patrones asignados al localizador]" que tienen la misma clave de relación con la tabla "busqueda".

Para resolver este problema, puedes utilizar la cláusula DISTINCT en tu consulta para eliminar los registros duplicados. Aquí está la versión modificada de tu consulta:

1
2
SELECT DISTINCT busqueda.reg_pat, busqueda.nombre_pat, busqueda.domicilio_pat, busqueda.credito, busqueda.periodos, busqueda.monto_cop, busqueda.monto_rcv, busqueda.fecha_nd, busqueda.folio, busqueda.coordinador, busqueda.fecha_entrega_c, [patrones asignados al localizador].localizador
FROM [patrones asignados al localizador] INNER JOIN busqueda ON [patrones asignados al localizador].[registro patron_l] = busqueda.reg_pat;

Al agregar la palabra clave DISTINCT después de SELECT, se eliminarán los registros duplicados en función de todas las columnas seleccionadas.

Espero que esto resuelva el problema de los registros duplicados en tu consulta. Si aún tienes problemas, asegúrate de verificar los datos en las tablas relacionadas y los criterios de unión para garantizar que sean correctos.
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