sql >> Database >  >> RDS >> Mysql

hoe een query te schrijven op basis van de kolom?

Zoals ik het begrijp, als Inserted_Date = Jan 2013 en Frequency = 'Halfyearly' , dan Eligibility = 1 wanneer de huidige maand 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

Als je ook Jaarlijks hebt, kun je gewoon controleren

MONTH(Inserted_Date) = MONTH(NOW())

Zie dit werken op SQLFiddle



  1. Het stuurprogramma kon geen veilige verbinding met SQL Server tot stand brengen met behulp van SSL-codering (Secure Sockets Layer)

  2. Krijg je verschillen tussen twee tabellen?

  3. SST-bewerking op een Galera-cluster stoppen of gas geven

  4. WAAR datetime ouder dan enige tijd (bijv. 15 minuten)