tengo una duda con una consulta en sql server

Iniciado por Razzari, 15 Noviembre 2016, 20:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Razzari

WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO Temporal_Ventas values (@ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR,0,0.00)
FETCH NEXT FROM MI_CURSOR INTO @ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR

END

UPDATE Temporal_Ventas SET proyeccion_actual= ((total_mes_anterior * @dPorcentajeCrecimiento) / 100) + total_mes_anterior



/*IF  proyeccion_actual > 5000
UPDATE Temporal_Ventas SET comision = ((proyeccion_actual * @dPorcentajeComision) / 100)
ELSE
UPDATE Temporal_Ventas SET comision = 0 */


Mi duda es la siguiente, voy recorriende una tabla temporal donde voy asignandole los valores  @ID_EMPLEADO, @NOMBRE_EMPLEADO, @MES_ANTERIOR que traigo de un cursor y tambien 0 (columna "proyeccion"), y otro campo 0.00 (columna "comision")
Despues asigno valores al campo "proyeccion" con un calculo que realizo con una parametro que traigo de antes.
ahora quiero preguntar si la proyeccion es > 5000 hacer tal cosal, sino else otra cosa.
Me esta subrayando como error la parte del if, alguien sabe decirme donde esta el error.
Desde ya Gracias y saludos a quien este leyendo ! :D :D :D
"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso

fran800m

https://msdn.microsoft.com/es-es/library/ms182717.aspx

Tu sintaxis de if parece incorrecta y proyeccion_actual es un campo, no una variable.
Calcula en una variable el valor, asignalo primero al update y luego utilizalo en el if.

Un saludo,

Razzari

Cita de: fran800m en 15 Noviembre 2016, 22:15 PM
https://msdn.microsoft.com/es-es/library/ms182717.aspx

Tu sintaxis de if parece incorrecta y proyeccion_actual es un campo, no una variable.
Calcula en una variable el valor, asignalo primero al update y luego utilizalo en el if.

Un saludo,
Gracias fran, ya lo soluciones, probe asi como me dijiste, le asigne al valor a una variable y compare, gracias saludos !!!  :D :D :D ;D ;D ;-) ;-)
"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso