Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Se Me Duplica La Suma (https://www.clubdelphi.com/foros/showthread.php?t=84722)

jooooseph 28-11-2013 03:18:43

Se Me Duplica La Suma
 
Estoy haciendo una consulta a 3 tablas a la vez que me devuelve sumas en cada campo. El problema es cuando se ejecuta la suma se duplica en dos datos.

A continuación pongo mi caso.

Código SQL [-]
1.  Tabla principal PRESUPUESTO

COD_PRESU | DESCRIPCION | FECHA 
   1          VARILLA     11/11/13




2. Tabla 2 D_PRES_MAQUI

COD_DETALLE | COD_PRESU | COD_MAQUI | HORAS | COSTO_HORA | TOTAL
    1             1          1          5       25.00      125.00
    2             1          2          2       35.80       71.60


3. Tabla 3 D_PRES_DIAS_ENTREGA
COD_DETALLE | COD_PRESU | COD_EMPRE | DIAS_PROYECTADOS| DIAS_REALES
      1          1            1           5                 3


        
Consulta REALIZADA

SELECT DESCRIPCION, SUM(D_PRES_DIAS_ENTREGA.DIAS_PROYECTADOS) AS PROYECTADO, SUM(D_PRES_DIAS_ENTREGA.DIAS_REALES) AS "REAL", SUM(D_PRES_MAQUI.TOTAL) AS "TOTAL S/."
FROM PRESUPUESTO
LEFT JOIN D_PRES_DIAS_ENTREGA on PRESUPUESTO.COD_PRESU = D_PRES_DIAS_ENTREGA.COD_PRESU
LEFT JOIN D_PRES_MAQUI ON PRESUPUESTO.COD_PRESU = D_PRES_MAQUI.COD_PRESU
GROUP BY DESCRIPCION

Resultado Incorrecto

Código SQL [-]

DESCRIPCION | PROYECTADO | REAL |TOTAL S/.
  VARILLA        10         6     196.60


RESULTADO CORRECTO

Código SQL [-]


DESCRIPCION | PROYECTADO | REAL |TOTAL S/.
  VARILLA         5         3     196.60

Espero que alguien me pueda ayudar con este inconveniente.



Atte.


Joseph Obando

ecfisa 28-11-2013 05:55:51

Hola jooooseph.

Proba de esta forma:
Código SQL [-]
SELECT DESCRIPCION,
  (SELECT SUM(DIAS_PROYECTADOS) FROM D_PRES_DIAS_ENTREGA WHERE COD_PRESU = T1.COD_PRESU) AS PROYECTADO,
  (SELECT SUM(DIAS_REALES) FROM D_PRES_DIAS_ENTREGA WHERE COD_PRESU = T1.COD_PRESU) AS "REAL",
  (SELECT SUM(TOTAL) FROM D_PRES_MAQUI WHERE COD_PRESU = T1.COD_PRESU) AS "TOTAL S/."
FROM PRESUPUESTO T1

Saludos :)

jooooseph 28-11-2013 16:04:58

Muchas gracias por la respuesta... De esta forma ya lo habia intentado, pero me salia un error, pero con tu ayuda se solucionó. Muchas gracias ^\||/


La franja horaria es GMT +2. Ahora son las 02:57:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi