Lỗi 1054 là do cột không tồn tại trong (các) bảng được xác định trong FROM
mệnh đề. Ngoài ra, WHERE
mệnh đề không được sử dụng để đặt một biến hoặc bí danh cột - nó để lọc các hàng được trả về.
Sử dụng DATEDIFF :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
ÍT NHẤT
hàm sẽ trả về giá trị thấp nhất trong hai ngày, vì vậy nó sẽ sử dụng ngày hiện tại nếu ngày đến hạn trong tương lai. Bạn có thể sử dụng GREATEST
nếu bạn muốn điều đó được đảo ngược.