Ver Mensaje Individual
  #10  
Antiguo 06-06-2021
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Reputación: 20
abelg Va por buen camino
Por si aun estas con la duda

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.
Responder Con Cita