Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/01/2008, 13:12
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 2 meses
Puntos: 7
Re: Suma de datos de diferentes tablas

Como con cualquier consulta, primero debes completar la parte relacional, y después te preocupas por como mostrar los datos. O divide y vencerás.
En este caso, lo lógico es que primero obtengas las sumas de cada concepto. Aplicando los filtros y agrupando en cada subconsulta, puede ser una opción. No sé que motor de base de datos estás usando, y falta que proporciones más información como si acaso existen registros en Pagosextra para cada fabrica o no, o si la fecha final es inclusiva o exclusiva pero está es la solución más general que puedo darte:

Código:
SELECT      f.Idfabrica,
            f.Nombre,
            (ISNULL(s.sueldo, 0) + ISNULL(pe.pagos, 0)) AS Total
FROM        Fabricas AS f
LEFT JOIN   (
                SELECT      Idfabrica,
                            SUM(sueldo) AS sueldo
                FROM        Sueldos
                WHERE       Fecha >= '20080101' AND Fecha < '20080131'
                GROUP BY    Idfabrica
            ) AS s
            ON s.Idfabrica = f.Idfabrica
LEFT JOIN   (
                SELECT      Idfabrica,
                            SUM(pagos) AS pagos
                FROM        Pagosextra
                WHERE       Fecha >= '20080101' AND Fecha < '20080131'
                GROUP BY    Idfabrica
            ) AS pe
            ON pe.Idfabrica = f.Idfabrica