MySQL - consulta con case no funciona

 
Vista:
Imágen de perfil de fernando
Val: 14
Ha aumentado su posición en 4 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

consulta con case no funciona

Publicado por fernando (5 intervenciones) el 21/05/2019 23:31:58
tengo que validar si el pago es del 1 al 10 de cada mes tiene que traer 100
si es del 11 al 20 tiene que traer 200
y si es >21 tiene que traer 300 pero no funciona....


1
2
3
4
5
6
7
8
9
10
11
12
13
14
select curdate(),datediff(curdate(), concat(year(curdate()),'-', month(curdate()),'-',10)),
case  obs when
datediff(curdate(), concat(year(curdate()),'-', month(curdate()),'-',10))<1
then 100
when
datediff(curdate(), concat(year(curdate()),'-', month(curdate()),'-',10)) >1 and
datediff(curdate(), concat(year(curdate()),'-', month(curdate()),'-',10))
<10
then 200
when
datediff(curdate(), concat(year(curdate()),'-', month(curdate()),'-',10)) >10
then 300
end
 from actividad
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
Val: 201
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

consulta con case no funciona

Publicado por Rafael (97 intervenciones) el 23/05/2019 09:06:06
Hola

Tienes esto
1
case  obs  when
Si quitas el OBS.... seguro que te funciona

Aun y cuando lo que estas haciendo NO es lo que has descrito ...

Segun lo que has descrito tienes que evaluar si esta entre los primeros 10 dias, entre el dia 11 y 20 o es mayor al dia 21 de cada mes...
Luego entonces tu case deberia ser algo talque asi ...

1
2
3
case when day(curdate()) <= 10 then 100
            when day(curdate()) between 11 and 20 then 200
            else 300 end

Ya nos contaras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar