Esa es una consulta sencilla, es un sum con un group by, no se como esta la estructura de tus tablas porque solo mencionas los vinculos y no se entienden bien, pero con lo que entendi seria algo mas o menos asi:
Código SQL:
Ver originalSELECT SUM(total_venta) AS gran_total, categoria FROM(
SELECT (t3.cantidad*t3.precio) AS total_venta, t4.categoria FROM ventas AS t1
LEFT JOIN pedidos AS t2 ON (t1.id=t2.id_venta)
LEFT JOIN productos AS t3 ON (t3.id=t2.id_producto)
LEFT JOIN categorias AS t4 ON (t3.categoria=t4.id)
) AS total GROUP BY categoria
te explicaria mejor si pusieras la estructura de tus tablas y un pequeño ejemplo de los datos de cada tabla y que es lo que esperas como resultado, que no somos adivinos