Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man eine Abfrage basierend auf ihrer Spalte schreibt

So wie ich es verstehe, wenn Inserted_Date = Jan 2013 und Frequency = 'Halfyearly' , dann Eligibility = 1 wenn der aktuelle Monat 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

Wenn Sie auch Jährlich haben, können Sie einfach

überprüfen
MONTH(Inserted_Date) = MONTH(NOW())

Sehen Sie sich die Arbeit an SQLFiddle an