MySQL - Campos calculados en MySQL

 
Vista:
sin imagen de perfil

Campos calculados en MySQL

Publicado por Josue (4 intervenciones) el 13/06/2015 16:24:43
Hola amigos, soy nuevo en este foro y deseo que me puedan aclarar una duda con respecto a los campos calculados de una tabla en MySQL.

He creado una base de datos y en una de sus tablas existen campos calculados, ejemplo

1
2
3
4
5
6
7
8
9
10
Create TABLE IF NO EXIST 'calculo'(
'cantidad' int DEFAULT NULL,        -- Cantidad inicial
'descuento' decimal(7,2) DEFAULT NULL,    -- Aplicar descuento que varía desde 1 a 15 %
'cantdescontada' decimal(7,2) AS ('cantidad' * 'descuento'),       -- Cantidad descontada
'cantidadactual' int AS ('cantidad' - ('cantidad' * 'descuento')),     -- Cantidad actual aplicado el descuento de tipo entero.
'importe' decimal(7,2) AS  (('cantidad' - ('cantidad' * 'descuento'))  * 0.45)
.
.
.
)


Mi incapacidad de seguir con el calculo nace a partir del campo 'cantidadactual' ya que como es de tipo entero, el resultado del calculo saldrá en decimal pero éste se redondeará al entero mas cercano (hasta aquí no hay problema). Sin embargo existen mas campos después de 'cantidadactual' que siguen trabajando con el resultado decimal mas no con el entero asignado en 'cantidadactual' y como es de saber, nunca tomara el campo entero porque es un campo calculado.

Lo que quiero es que como hacer para que el campo 'cantidadactual' de tipo entero entre al calculo de los demás campos siguientes y deje a un lado el resultado decimal, es posible ??

Espero sus respuestas compañeros. desde ya mil gracias !! , saludos (toda respuesta será bienvenida)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Campos calculados en MySQL

Publicado por DAVID (63 intervenciones) el 11/04/2016 08:18:58
Hola buenas,
no se si lo conseguiste, pero me intriga lo que quieres. Puedes explicarte mejor? porque no te entiendo bien. Tienes varios campos, y todos parten de un valor, que es "cantidadactual". Los demás son campos que con alguna operación sobre este valor, quieres guardar, no? Pues creo que si es así, no deberías guardar esos valores, y si acaso, guarda lo que aplicas sobre "cantidadactual", si es que para cada registro es distinto. Sino, no tiene sentido guardarlo en BBDD, pues a partir de un campo, con operaciones, puedes obtener el resto.

Un saludo,
David
estudio de diseño grafico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Campos calculados en MySQL

Publicado por data (1 intervención) el 21/05/2016 05:20:01
Si he entendido bien tu pregunta creo que buscas la función ROUND(campo, nºdecimales), por ejemplo: ROUND(cantidadactual, 0)

1
http://www.w3schools.com/sql/sql_func_round.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar