Te mando un ejemplo pequeño como podrías plantear la solución.
Código SQL
[-]
CREATE TABLE #Ventas
(
Cod_Sup Varchar(25) not null,
Cod_Esc Varchar(25) not null,
Cod_Fam int not null,
Cod_producto int,
Cantidad int,
)
CREATE TABLE #Producto
(
Cod_Preoducto int identity not null,
Nombre varchar(25) not null,
Pes_vol money not null
)
INSERT #Producto Values ('xxx', 2360.25)
INSERT #Producto Values ('yyy', 360.25)
INSERT #Producto Values ('zzz', 1560.25)
INSERT #Producto Values ('aaa', 4260.25)
INSERT #Ventas Values('1', '10111', 1, 1, 3)
INSERT #Ventas Values('1', '10111', 1, 1, 5)
INSERT #Ventas Values('1', '10111', 1, 1, 3)
INSERT #Ventas Values('1', '10111', 2, 3, 3)
INSERT #Ventas Values('1', '10111', 3, 1, 5)
INSERT #Ventas Values('1', '10111', 3, 3, 4)
INSERT #Ventas Values('1', '10111', 3, 2, 3)
INSERT #Ventas Values('1', '10111', 4, 3, 5)
INSERT #Ventas Values('1', '10111', 5, 2, 4)
INSERT #Ventas Values('1', '10111', 6, 1, 2)
INSERT #Ventas Values('1', '10111', 7, 1, 2)
INSERT #Ventas Values('1', '10111', 8, 2, 18)
INSERT #Ventas Values('1', '10111', 9, 3, 1)
INSERT #Ventas Values('1', '10111', 10, 2, 13)
INSERT #Ventas Values('1', '10111', 11, 2, 15)
INSERT #Ventas Values('1', '10111', 12, 1, 11)
INSERT #Ventas Values('1', '10111', 13, 3, 12)
INSERT #Ventas Values('1', '10111', 14, 1, 17)
INSERT #Ventas Values('1', '10111', 15, 3, 14)
INSERT #Ventas Values('1', '10111', 16, 1, 12)
SELECT Cod_Esc,
Cod_Sup,
Cod_Fam,
Total
FROM (SELECT Cod_Esc,
Cod_Sup,
Cod_Fam,
SUM(v.Cantidad * p.Pes_vol) Total,
(SELECT
SUM(v1.Cantidad * p1.Pes_vol) TotalT
FROM #Ventas v1
INNER JOIN #Producto p1 ON p1.Cod_Preoducto = v1.Cod_producto
WHERE v1.Cod_Fam <= v.cod_Fam
GROUP BY v1.Cod_Esc, v1.Cod_Sup
) GranTotal
FROM #Ventas v
INNER JOIN #Producto p ON p.Cod_Preoducto = v.Cod_producto
GROUP BY Cod_Esc, Cod_Sup, Cod_Fam
) x
WHERE x.GranTotal <= 75000
ORDER BY Cod_Esc, Cod_Sup, Cod_Fam
DROP TABLE #Producto
DROP TABLE #Ventas
Saludos.