1054-fejlen skyldes, at kolonnen ikke findes i tabellen/tabellerne defineret i FROM
klausul. Derudover er WHERE
klausul bruges ikke til at angive en variabel eller et kolonnealias -- det er til filtrering af returnerede rækker.
Brug DATEDIFF :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
MINST
funktion vil returnere den laveste af de to datoer, så den vil bruge den nuværende dato, hvis forfaldsdatoen ligger i fremtiden. Du kan bruge den GREATEST
funktion, hvis du vil have det omvendt.