Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: yoelrodguez en 17 Marzo 2020, 03:36 am



Título: No me quita los registros duplicados
Publicado por: yoelrodguez en 17 Marzo 2020, 03:36 am
Tengo la siguiente situación: tengo una consulta que me debe devolver 200 registro y me está devolviendo 206 por lo que el valor de la suma, que estoy haciendo me varia mucho. He hecho varias pruebas pero no logro que me que de el valor que realmente es. A continuación le dejo la consulta y las pruebas que he realizado para ver si me pueden ayudar.

Código:
SELECT DISTINCT `client`.id , COUNT(registro.id) AS nopay, SUM(registro.com_paym) AS monto
FROM registro
INNER JOIN `client` ON client.suscriberid = registro.subcriberid
WHERE client.id_agent = '61' AND registro.procedado > 0 AND SUBSTRING(registro.fecha, 1,4) = '2020' AND SUBSTRING(client.aplication_date, 1,4) = '2020' AND SUBSTRING(registro.fecha, 6,2) = '01' AND client.borrado <> 1 AND client.id_insured = '2' GROUP BY registro.procedado  ORDER BY  registro.procedado ASC

Valor que me está devolviendo:

nopay = 206 de 200
monto = 6153.00 de 6132.00

Prueba que he realizado.

Quite la condición de COUNT y SUM y cambie el GROUP BY y ORDER BY en lugar de registro.procesado por `client`.id y quite el DISTINCT si me devuelve la cantidad correcta de registro y el valor del monto es correcto pero de esta manera no puedo el numero de procesados que es por el que necesito hacer la suma y el conteo.

Gracias


Título: Re: No me quita los registros duplicados
Publicado por: Carloswaldo en 8 Abril 2020, 17:13 pm
No entiendo cuál es el problema con usar GROUP BY y ORDER BY quitando el DISTINCT (que sería la manera correcta)