¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema de suma incorrecta al unir tablas en consulta SQL: ¿Estoy omitiendo algo?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 12 Vistas
0
Cargando...

Hola a todos,

Estoy usando 3 tablas: tabla a, tabla b y tabla c.

Al usar la suma en campos de la tabla b y c, obtengo valores incorrectos en ambos campos y ambos parecen ser mayores que los valores correctos.

Al unir estas tablas usando una consulta como sigue:

Select from Table A left join Table B on a~field = b~field
                                Left join Table on a~field = c~field
Fields
a~field1,a~field2 ,sum( b~field1 ) as qty1,sum( c~field1 ) as qty2


into  internal_Table where .......

Ahora, si dejo fuera la tabla c, entonces los valores en la suma para la tabla b son correctos, pero necesito sumar ambos campos de tabla al unir con la tabla a.

¿Estoy omitiendo algo?

Gracias

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

El primer hecho que te falta es que cuando tienes la tabla C en tu consulta, la suma de la columna B se ve alterada porque el número de filas de B se multiplica por el número de filas de C para cada fila de A.

Solución alternativa -> Ver respuesta de Chau.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Chau,

Entiendo que dividirlos a ambos daría el resultado adecuado, pero mi plan requiere unir 5 tablas más con la tabla A de manera similar para obtener valores de sum(), lo que significaría dividirlas todas individualmente.

¿No hay alguna metodología para que las sumas y joins funcionen correctamente?

Saludos,

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Puedes dividirlo en dos declaraciones select, una para la tabla de grupo A y B, y otra para A y C, después de eso, unir los dos grupos y verás los datos.
Cuando agrupas A y B ==> devolverá el conjunto de datos X
SQL activará continuamente X con C ==> los datos serán incorrectos
Espero que esto ayude

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?