सबसे पहले, आप ALIAS
. का उपयोग नहीं कर सकते WHERE
. पर खंड। आपको कॉलम का उपयोग करना चाहिए,
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
कारण इस प्रकार है:संचालन का क्रम SQL है,
- खंड से
- WHERE क्लॉज
- ग्रुप बाय क्लॉज
- हैविंग क्लॉज
- चुनें खंड
- खंड के अनुसार आदेश
ALIAS
SELECT
. पर होता है क्लॉज जो WHERE
. से पहले है खंड।
यदि आप वास्तव में उपनाम का उपयोग करना चाहते हैं, तो इसे एक सबक्वेरी में लपेटें,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'