O erro 1054 é porque a coluna não existe na(s) tabela(s) definida(s) no
FROM
cláusula. Além disso, o WHERE
cláusula não é usada para definir uma variável ou alias de coluna -- é para filtrar as linhas retornadas. Use DATEDIFF :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
O MENOS A função retornará a mais baixa das duas datas, portanto, usará a data atual se a data de vencimento for no futuro. Você pode usar o
GREATEST
função se você quiser que isso seja revertido.