Hola Gracias
GeriReshef! El campo clave de tabla1_facturas es id. Funciona bien, solo le tuve agregar en el group by "fa.importe", por lo tanto quedo así:
Código SQL:
Ver originalSELECT fa.id,
SUM(nac.importe),
SUM(prov.importe),
fa.importe - SUM(nac.importe_primario) - SUM(prov.importe_primario)
FROM tabla1_facturas fa
LEFT JOIN (SELECT idfactura,
SUM(importe) importe,
SUM(importe_primario) importe_primario
FROM tabla2_impuestos_nacionales
GROUP BY idfactura) nac
ON fa.id = nac.idfactura
LEFT JOIN (SELECT idfactura,
SUM(importe) importe,
SUM(importe_primario) importe_primario
FROM tabla3_impuestos_provinciales
GROUP BY idfactura) prov
ON fa.id = prov.idfactura
GROUP BY fa.id, fa.importe
ORDER BY fa.id DESC
Bien joya, eso me sirve!, ahora no entiendo por qué las lineas 7 y 13 "Sum(importe) importe", de todas maneras las elimine y el código quedo finalmente así:
Código SQL:
Ver originalSELECT fa.id,
SUM(nac.importe),
SUM(prov.importe),
fa.importe - SUM(nac.importe_primario) - SUM(prov.importe_primario)
FROM tabla1_facturas fa
LEFT JOIN (SELECT idfactura,
SUM(importe_primario) importe_primario
FROM tabla2_impuestos_nacionales
GROUP BY idfactura) nac
ON fa.id = nac.idfactura
LEFT JOIN (SELECT idfactura,
SUM(importe_primario) importe_primario
FROM tabla3_impuestos_provinciales
GROUP BY idfactura) prov
ON fa.id = prov.idfactura
GROUP BY fa.id, fa.importe
ORDER BY fa.id DESC
-------------------------------------------
-------------------------------------------
-------------------------------------------
Respondiendo al usuario
Libras, te tiro un ejemplo de datos:
tabla1_facturas
id, nro, importe
18097, 272753, 8900
18098, 272754, 11500
tabla2_impuestos_nacionales
id, importe, idfactura
9675, 161.09, 18097
9676, 208.14, 18098
tabla3_impuestos_provinciales
id, importe, idfactura
9124, 1, 18097
9125, 1, 18097
9126, 2, 18098
9127, 7.5, 18098
En ese caso se me duplicaban los valores de la tabla2_impuestos_nacionales quedando asi:
idFactura, nroFactura, importeFactura, sum(importe_nacionales), sum(importe_provinciales), (importeFactura - impuestos)
18097, 272753, 8900, 322.18, 2, 8575.82
18098, 272754, 11500, 416.28, 9.5, 11074.22
Lo correcto hubiera sido:
18097, 272753, 8900, 161.09, 2, 8736.91
18098, 272754, 11500, 208.14, 9.5, 11282.36