Ver Mensaje Individual
  #10  
Antiguo 21-11-2011
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Reputación: 0
subzero Va por buen camino
Question

Bueno aun nada, tratare de ser mas especifico.

Código SQL [-]
SELECT
       (cast(costo as NUMERIC(15,6)) + cast((cast(costo as NUMERIC(15,6)) * (pcj_venta1/100)) as numeric(15,6))) / cast(costo as NUMERIC(15,6))
FROM productos
WHERE id = 147

La primera parte del select hace referencia al precio : (cast(costo as NUMERIC(15,6)) + cast((cast(costo as NUMERIC(15,6)) * (pcj_venta1/100)) as numeric(15,6)))

La segunda al costo : cast(costo as NUMERIC(15,6)).

El porcentaje de venta pcj_venta1 no es mas que una variable de tipo decimal(4,4).

El resultado luego de realizar la consulta donde el costo es 12987 y precio es 15516.8876 es el siguiente... 1.1284.

Ahora el por que. requiero hacer esto... bueno sucede que el cliente el margen de utilidad esta dado por ((precio/costo)-1))*100 donde reemplazando me dará una utilidad de 12.8449, pues bien, ahora el cliente compro no a 12987 sino a 11000 pero se requiere que el precio de venta se mantenga por lo tanto calculo el precio actual y lo divido entre el nuevo costo para actualizar el margen de utilidad en la tabla.

Espero quizás me entiendan el porque de la necesidad de los decimales ya que con solo los cuatro del resultado 1.1284 al restarle 1 y multiplicarlo por 100 me da 12.84 donde el precio se vera afectado... como enrredado cierto!
Responder Con Cita