Chyba 1054 je způsobena tím, že sloupec neexistuje v tabulkách definovaných v FROM
doložka. Navíc WHERE
klauzule se nepoužívá k nastavení proměnné nebo aliasu sloupce - slouží k filtrování vrácených řádků.
Použijte DATEDIFF :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
NEJMENŠÍ
funkce vrátí nejnižší ze dvou dat, takže pokud je datum splatnosti v budoucnosti, použije aktuální datum. Můžete použít GREATEST
Pokud chcete, aby to bylo obrácené.