Por lo menos tendrias 2 conjuntos o subconsultas: ventas y pedidos de compra.
La estructura seria algo asi:
Código sql:
Ver originalSELECT expediente, articulo, descripcion, cantidad,
CASE WHEN articulo = 'mat' OR articulo = 'inst' THEN importe ELSE importes END
FROM ventas V
INNER JOIN (SELECT doc,SUM(importes)[importes] FROM pedido_compra GROUP BY doc) P ON <los campos que tengan en comun>
WHERE ...