Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2014, 15:46
ceqn_20
 
Fecha de Ingreso: agosto-2014
Mensajes: 17
Antigüedad: 9 años, 8 meses
Puntos: 0
Calculo de Columnas

Buenas tardes, tal ves puedan ayudarme con la consulta siguiente: tengo productos con datos fijos.. stock disponible, en proceso de fabricación, cantidad por lote fabricado, y también datos como periodo de requerimiento, cantidad requerida de fabricación y tres columnas vacías..
"DisponibleNuevo" la primera ves es igual al Disponible del producto, en adelante sera igual al "saldo" si es negativo se muestra su valor absoluto sino será 0
"saldo" siempre es igual a (Requerido - DisponibleNuevo - Proceso),
"demanda" siempre es igual a "saldo" (si es negativo se iguala a 0)
Copio el código de la tabla primero con registros de datos y las columnas a calcular vacías,
y segundo los registros de datos comentados con el resultado final como debería quedar.

Gracias de antemano por su ayuda.
Código SQL:
Ver original
  1. CREATE TABLE MiTabla(
  2. Producto VARCHAR(04),
  3. Disponible NUMERIC(16,8),
  4. Proceso NUMERIC(16,8),
  5. Lote NUMERIC(16,8),
  6. Periodo INT,
  7. Requerido NUMERIC(16,8),
  8. DisponibleNuevo NUMERIC(16,8),
  9. Saldo NUMERIC(16,8),
  10. Demanda NUMERIC(16,8)
  11. )
  12. GO
  13.  
  14. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201406,150,0,0,0)
  15. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201407,100,0,0,0)
  16. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201408,120,0,0,0)
  17. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201409,80,0,0,0)
  18. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201410,25,0,0,0)
  19. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201411,150,0,0,0)
  20. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201412,300,0,0,0)
  21. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201501,50,0,0,0)
  22. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201501,30,0,0,0)
  23. INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201502,65,0,0,0)
  24.  
  25. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201406,150,200,-70,0)
  26. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201407,100,70,30,30)
  27. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201408,120,0,120,120)
  28. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201409,80,0,80,80)
  29. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201410,25,0,25,25)
  30. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201411,150,0,150,150)
  31. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1001',200,20,1000,201412,300,0,300,300)
  32. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201406,50,100,-130,0)
  33. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201407,30,130,-100,0)
  34. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201408,65,100,-35,0)
  35. --INSERT INTO MiTabla(Producto, Disponible, Proceso, Lote, Periodo, Requerido, DisponibleNuevo, Saldo, Demanda) VALUES('1002',100,80,500,201409,85,35,50,50)

Última edición por gnzsoloyo; 15/08/2014 a las 09:05