Hola Newtron
prueba el siguiente código:
Código SQL
[-]select ventas.albaran, ventas.fecha, ventas.articulo, sum(v1.cantidad),
sum(case when not v2.cantidad is null then v2.cantidad else 0 end)
from (
select ventas.albaran, ventas.fecha, ventas.articulo
from ventas
group by ventas.albaran, ventas.fecha, ventas.articulo
) ventas
left join ventas v1 on v1.albaran=ventas.albaran and v1.fecha=ventas.fecha and v1.articulo=ventas.articulo and v1.precio<>0
left join ventas v2 on v2.albaran=ventas.albaran and v2.fecha=ventas.fecha and v2.articulo=ventas.articulo and v2.precio=0
group by ventas.albaran, ventas.fecha, ventas.articulo
order by ventas.albaran, ventas.fecha, ventas.articulo