Mysql
 sql >> Database >  >> RDS >> Mysql

cercando di ottenere il numero di mesi

L'errore 1054 è dovuto al fatto che la colonna non esiste nelle tabelle definite in FROM clausola. Inoltre, il WHERE La clausola non viene utilizzata per impostare una variabile o un alias di colonna:serve per filtrare le righe restituite.

Usa DATEDIFF :

SELECT t.member_id,
       DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
  FROM MEMBERSHIP t

Il LEAST funzione restituirà la più bassa delle due date, quindi utilizzerà la data corrente se la data di scadenza è futura. Puoi usare il GREATEST funzione se vuoi che sia invertito.