Tengo las siguientes tablas:
tabla1_facturas
id, nro, importe
tabla2_impuestos_nacionales
id, importe, idfactura
tabla3_impuestos_provinciales
id, importe, idfactura
Mi consulta deberá mostrar una línea por cada factura de 6 columnas con la siguiente información:
idFactura, nroFactura, importeFactura, sum(importe_nacionales), sum(importe_provinciales), (importeFactura - impuestos)
Lo que hago es lo siguiente:
Código SQL:
Ver original
SELECT fa.id, fa.nro, fa.importe, SUM(nac.importe), SUM(prov.importe), fa.importe - SUM(nac.importe_primario) - SUM(prov.importe_primario) FROM tabla1_facturas fa LEFT JOIN tabla2_impuestos_nacionales nac ON fa.id = nac.idfactura LEFT JOIN tabla3_impuestos_provinciales prov ON fa.id = prov.idfactura GROUP BY fa.id, fa.nro, fa.importe ORDER BY fa.id DESC
Se me complica cuando una factura tiene por ejemplo 3 impuestos nacionales,
y solo 1 provincial, ya que este último se me triplica. :(
¿Alguna sugerencia?
Gracias!