Ver Mensaje Individual
  #16 (permalink)  
Antiguo 26/06/2014, 15:30
surrealista
 
Fecha de Ingreso: junio-2014
Mensajes: 11
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Cálculo de Stock con 2 tablas y procedimiento almacenado.

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 original
  1. CREATE PROC SP_CONSULTAR_STOCK_POR_ALMACEN
  2. @IDALMACEN NCHAR(2)
  3. AS
  4. BEGIN
  5. TRUNCATE TABLE Resultados
  6. --- Se Declare el Cursor
  7. DECLARE C1 CURSOR FOR
  8. SELECT idProducto,SUM(peso_especifico_gr) FROM DetalleInventario WHERE idAlmacen=@IDALMACEN GROUP BY idProducto --- Select con los campos que necesitas
  9. OPEN C1 --- se abre el cursor
  10. --- Variables para recibir los valores del select
  11. DECLARE @IdProducto VARCHAR(10)
  12. DECLARE @CantEntrante DECIMAL(9, 3)
  13. DECLARE @CantSaliente DECIMAL(9, 3)
  14. --- Se cargan los valores del cursor en las variables
  15. FETCH NEXT FROM C1 INTO @IdProducto,@CantEntrante
  16. WHILE(@@FETCH_STATUS=0)
  17. BEGIN
  18. SET @CantSaliente = (SELECT SUM(Consumo) FROM DetalleSalidaInventario WHERE idProducto=@IdProducto)
  19. INSERT INTO Resultados(idalmacen,idproducto,Stock) VALUES (@IDALMACEN,@IdProducto,@CantEntrante - ISNULL(@CantSaliente,0))
  20. FETCH NEXT FROM C1 INTO @IdProducto,@CantEntrante --- se pasa al siguiente record del cursor
  21. END
  22. CLOSE C1
  23. DEALLOCATE C1
  24. SELECT * FROM Resultados
  25. END
  26. GO

Saludos