Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment écrire une requête basée sur sa colonne

D'après ce que je comprends, si Inserted_Date = Jan 2013 et Frequency = 'Halfyearly' , puis Eligibility = 1 lorsque le mois en cours est 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

Si vous avez également Annuel, vous pouvez simplement vérifier

MONTH(Inserted_Date) = MONTH(NOW())

Voir ce travail sur SQLFiddle