Problema con if en sql server

Necesito cambiar el estado de un cliente según si sus compras son mayores a 20... La columna a modificar se llama prioridad y tomara el valor ALTA si cumple la condición de lo contrario sera BAJA... Tengo el siguiente código

declare @compra int
select @compra= compras from clientes where compras>20
if @compra >20
begin
update clientes
set prioridad='Alta'
end
else
begin
update clientes
set prioridad='Baja'
end
select * from clientes

... Pero al ejecutar y mostrar la tabla aplica a todo la prioridad ALTA... Es como que no toma en cuenta la condición...

Que estoy haciendo mal...

1 respuesta

Respuesta
1

Pasame la estructura de la tabla clientes y su clave primaria

Muchas gracias por responder...adjunto una imagen de lo solicitado:

Espero puedas ayudarme....Gracias

update clientes set prioridad = case

                                                   when compras>20 then ' Alta'

                                                   else 'Baja'

                                                    end

Entonces con IF no se puede realizar...cierto....para este caso es mejor usar CASE...

Muchas gracias

De nada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas