Código MySQL:
Ver original a.nit_pro
as IdProveedor
, sum(c.can_art
*d.val_ven
) AS total
a.nit_pro,
fec_com,
raz_soc_pro;
Tu query no da el total por proveedor ... si no el total por cada a.cod_com, a.nit_pro, fec_com, raz_soc_pro. Es decir el total por cada Compra.
Si quieres el total por proveedor debes hacer esto
Código MySQL:
Ver original a.nit_pro
as IdProveedor
, sum(c.can_art
*d.val_ven
) AS total
raz_soc_pro;
Y si quieres el total total
Para juntar las tres querys puedes usar UNION ALL completando los campos con valores fijos como ya he hecho, puesto que TODAS la querys de un UNION deben tener el mismo numero de campos y en el mismo orden.
El problema lo tendras para ordenar ese UNION de manera que los subtotales te queden por debajo de los detalles.... aun que lo consigas sera muy ineficiente puesto que estas consultando los mismos datos tres veces....
Lo mas eficiente a mi entender seria que al mismo tiempo que tratas la primera query para listarla (php o lo que sea) obtengas los subtotales y los intercales al mostrar la lista.... Para hacer esto peregunta en el foro del lenguaje que uses... alli sabran mas que yo.