Acabo de pedir ayuda a un amigo que curiosamente, conocía bastante de SQL y me pasó la solución. (Sin el campo descripción del producto). Cabe resaltar que tuve que crear una tabla "Resultados"
Lo adjunto por su alguien necesita.
Código SQL:
Ver originalCREATE PROC SP_CONSULTAR_STOCK_POR_ALMACEN
@IDALMACEN NCHAR(2)
AS
BEGIN
TRUNCATE TABLE Resultados
--- Se Declare el Cursor
DECLARE C1 CURSOR FOR
SELECT idProducto,SUM(peso_especifico_gr) FROM DetalleInventario WHERE idAlmacen=@IDALMACEN GROUP BY idProducto --- Select con los campos que necesitas
OPEN C1 --- se abre el cursor
--- Variables para recibir los valores del select
DECLARE @IdProducto VARCHAR(10)
DECLARE @CantEntrante DECIMAL(9, 3)
DECLARE @CantSaliente DECIMAL(9, 3)
--- Se cargan los valores del cursor en las variables
FETCH NEXT FROM C1 INTO @IdProducto,@CantEntrante
WHILE(@@FETCH_STATUS=0)
BEGIN
SET @CantSaliente = (SELECT SUM(Consumo) FROM DetalleSalidaInventario WHERE idProducto=@IdProducto)
INSERT INTO Resultados(idalmacen,idproducto,Stock) VALUES (@IDALMACEN,@IdProducto,@CantEntrante - ISNULL(@CantSaliente,0))
FETCH NEXT FROM C1 INTO @IdProducto,@CantEntrante --- se pasa al siguiente record del cursor
END
CLOSE C1
DEALLOCATE C1
SELECT * FROM Resultados
END
GO
Saludos