Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como escrever uma consulta com base em sua coluna


Pelo que entendi, se Inserted_Date = Jan 2013 e Frequency = 'Halfyearly' , então Eligibility = 1 quando o mês atual é Jan 2013, Jul 2013, Jan 2014, Jul 2014 etc..
UPDATE TableA
SET Eligibility = CASE WHEN (Frequency = 'Halfyearly' 
                            AND MONTH(Inserted_Date) % 6 = MONTH(NOW()) % 6) 
                         OR (Frequency = 'Quarterly' 
                            AND MONTH(Inserted_Date) % 3 = MONTH(NOW()) % 3)
                      THEN 'Yes'
                      ELSE 'No' 
                 END

Se você tiver Anualmente também, você pode apenas verificar
MONTH(Inserted_Date) = MONTH(NOW())

Veja isso funcionando em SQLFiddle