sql >> Base de Datos >  >> RDS >> Mysql

tratando de obtener el número de meses

El error 1054 se debe a que la columna no existe en las tablas definidas en FROM cláusula. Además, el WHERE La cláusula no se usa para establecer una variable o un alias de columna; es para filtrar las filas devueltas.

Use DATEDIFF :

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

El MENOS La función devolverá la más baja de las dos fechas, por lo que utilizará la fecha actual si la fecha de vencimiento es en el futuro. Puedes usar el GREATEST funciona si quieres que se invierta.