1054エラーは、FROMで定義されたテーブルに列が存在しないためです。 句。さらに、WHERE 句は、変数や列エイリアスの設定には使用されません。返される行をフィルタリングするためのものです。
DATEDIFF を使用します :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
LEAST
関数は2つの日付のうち最も低い日付を返すため、期日が将来の場合は現在の日付を使用します。 GREATESTを使用できます 逆にしたい場合は機能します。