GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[Resolvido] Condição dentro da View

mysql
sql
Tags: #<Tag:0x00007ff78c46b870> #<Tag:0x00007ff78c46b6b8>

#1

Boa noite,

Preciso criar uma view com condição IF dentro dela no MySQL. Segue abaixo o cenário:

Tenho a tabela usuários com os seguintes campos:

  1. id (int)
  2. nome (varchar)
  3. data_vencimento (date)
  4. pago (int)
  5. acessos (int)

Preciso criar uma view com os mesmos campos acima porém quando o campo data_vencimento somado 30 dias for maior que a data atual ele altere o campo acessos para 3.

Abaixo exemplo da tabela de usuários:
image

Abaixo a view da tabela de usuários:
image

Abaixo o resultado que pretendo obter com a condição IF na view:
image

Alguém já criou algo parecido ?


#2

Nao entendi qual sentido dessa condicao, mas tecnicamente pode usar CASE:

SELECT 
   CASE WHEN DATE_ADD(data_vencimento, INTERVAL 30 DAY) > CURDATE() THEN 3 ELSE acessos END AS acessos
FROM
   tabela

https://www.w3schools.com/sql/func_mysql_case.asp


#3

Excelente!
Funcionou perfeitamente!