CONSULTA 2 TABLAS SUM1() Y SUM2()

genosol
07 de Septiembre del 2009
Buenos días.

Tengo dos tablas. Una de horas asignadas a proyectos y otra con facturas de proyectos.
tabla horas: idpersonal, idproyecto, horas
tabla facturas:idproyecto, totalfactura
quería mostrar en un data grid idpersonal, idproyecto, horas_totales (por proyecto), total_factura (por proyecto)

he intentado hacerlo de varias formas pero siempre me da disitntos errores:

sql = "SELECT HORAS.Idproyecto, sum(horas.horas) as HORAS_TOTALES, ISNULL(FACTURAS.SUM_TOTALES,0) AS TOTAL_FACTURAS FROM HORAS AS HORAS LEFT OUTER JOIN (SELECT sum(TOTALES) as SUM_TOTALES from FACTURAS GROUP BY idproyecto) as FACTURAS ON HORAS.IDPROYECTO=FACTURAS.IDPROYECTO GROUP BY HORAS.IDPROYECTO ORDER BY HORAS.IDPROYECTO"

También lo he intentado vinculándolas a una tabla más. aquí si me muestra registros, pero los muestra mal. Los totales de las facturas están cuadriplicados y, a veces, las horas están duplicadas:

sql = "SELECT horas.idpersonal as ID, horas.abreviado as PERSONAL, horas.idproyecto as Nº_PROYECTO, sum(horas.horas) as HORAS_TOTALES, sum(facturas.totales) as TOTAL_FACTURAS from horas INNER JOIN (PROYECTO INNER JOIN FACTURAS ON proyecto.idproyecto=facturas.idproyecto) ON horas.idproyecto=proyecto.idproyecto group by horas.idpersonal, horas.abreviado, horas.idproyecto order by horas.idproyecto"

Me pueden ayudar?

un saludo,