De 1054-fout is omdat de kolom niet bestaat in de tabel(len) gedefinieerd in de FROM
clausule. Bovendien is de WHERE
clausule wordt niet gebruikt om een variabele of kolomalias in te stellen -- het is voor het filteren van geretourneerde rijen.
Gebruik DATEDIFF :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
De MINSTE
functie retourneert de laagste van de twee datums, dus het zal de huidige datum gebruiken als de vervaldatum in de toekomst ligt. U kunt de GREATEST
. gebruiken functie als u dat omgekeerd wilt.