¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema de soma incorreta ao unir tabelas em consulta SQL: Estou omitindo algo?

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

Olá a todos,

Estou usando 3 tabelas: tabela a, tabela b e tabela c.

Ao usar a soma nos campos da tabela b e c, obtenho valores incorretos em ambos os campos e ambos parecem ser maiores do que os valores corretos.

Ao unir essas tabelas usando uma consulta como a seguinte:

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 .......

Agora, se eu excluir a tabela c, então os valores na soma para a tabela b estão corretos, mas eu preciso somar ambos os campos da tabela ao unir com a tabela a.

Estou omitindo algo?

Obrigado

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

4 Respuestas

0
Cargando...

O primeiro fato que você está perdendo é que quando você tem a tabela C em sua consulta, a soma da coluna B é alterada porque o número de linhas de B é multiplicado pelo número de linhas de C para cada linha de A.

Solução alternativa -> Ver resposta de Chau.

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

Olá Chau,

Entendo que dividi-los daria o resultado adequado, mas meu plano requer unir mais 5 tabelas com a tabela A de forma similar para obter valores de sum(), o que significaria dividi-las todas individualmente.

Não há alguma metodologia para que as somas e joins funcionem corretamente?

Saudações,

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

Olá,

Você pode dividir em duas declarações select, uma para a tabela do grupo A e B, e outra para A e C, depois disso, unir os dois grupos e verá os dados.
Quando agrupa A e B ==> retornará o conjunto de dados X
SQL continuamente ativa X com C ==> os dados serão incorretos
Espero que isso ajude

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?