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