Buenas. Comparto mi solucion de beginner
SELECT YEAR(FASE1.FECHA_VENTA), CONCAT(
FASE1.NOMBRE," facturó ",
FLOOR(SUM(ITF.CANTIDAD*(ITF.PRECIO*FASE1.IMPUESTO))),
"en el año ",YEAR(FASE1.FECHA_VENTA)
)
FROM (
SELECT TC.NOMBRE, F.NUMERO, F.IMPUESTO,F.FECHA_VENTA
FROM TABLA_DE_CLIENTES TC
INNER JOIN FACTURAS F
ON F.DNI = TC.DNI
) FASE1
INNER JOIN ITEMS_FACTURAS ITF
ON FASE1.NUMERO = ITF.NUMERO
WHERE YEAR(FASE1.FECHA_VENTA) = 2016
GROUP BY FASE1.NOMBRE, YEAR(fase1.fecha_venta);
Además, me di cuenta que mi error es considerar los impuestos. Según esta pagina aqui, significa que no se debe considerar los impuestos en la facturación, mi error fue considerarlo.
Si no se considera el resultado es:
SELECT YEAR(FASE1.FECHA_VENTA) AS AÑO, CONCAT(
FASE1.NOMBRE," facturó ",
FLOOR(SUM(ITF.CANTIDAD*(ITF.PRECIO))),
"en el año ",YEAR(FASE1.FECHA_VENTA)
) AS SENTENCE
FROM (
SELECT TC.NOMBRE, F.NUMERO, F.IMPUESTO,F.FECHA_VENTA
FROM TABLA_DE_CLIENTES TC
INNER JOIN FACTURAS F
ON F.DNI = TC.DNI
) FASE1
INNER JOIN ITEMS_FACTURAS ITF
ON FASE1.NUMERO = ITF.NUMERO
WHERE YEAR(FASE1.FECHA_VENTA) = 2016
GROUP BY FASE1.NOMBRE, YEAR(fase1.fecha_venta);
Es decir: