1054 त्रुटि इसलिए है क्योंकि कॉलम FROM
में परिभाषित तालिका (तालिकाओं) में मौजूद नहीं है खंड। इसके अतिरिक्त, WHERE
क्लॉज का उपयोग चर, या कॉलम उपनाम सेट करने के लिए नहीं किया जाता है - यह लौटाई गई पंक्तियों को फ़िल्टर करने के लिए है।
DATEDIFF का उपयोग करें :
SELECT t.member_id,
DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
FROM MEMBERSHIP t
LEAST
फ़ंक्शन दो तिथियों में से सबसे कम लौटाएगा, इसलिए यदि देय तिथि भविष्य में है तो यह वर्तमान तिथि का उपयोग करेगी। आप GREATEST
का उपयोग कर सकते हैं यदि आप इसे उल्टा करना चाहते हैं तो कार्य करें।