जब भी आप स्तंभों के लिए फ़ंक्शन का उपयोग करते हैं, तो आपको उन्हें एक उपनाम निर्दिष्ट करने की आवश्यकता होती है। इसका कारण यह है कि आप फ़ंक्शन में कई कॉलम का उपयोग कर रहे हैं, और MySQL स्वचालित रूप से यह नहीं जान पाएगा कि सिंगल कॉलम आउटपुट के लिए किसका उपयोग करना है, और यह आपके द्वारा उपयोग किए गए फ़ंक्शन के समान कॉलम नाम उत्पन्न करेगा।पी>
आपके सामने जो समाधान आया वह बिल्कुल मान्य है। हालांकि, पठनीयता के उद्देश्यों के लिए, उपनाम और स्तंभ नामों का उपयोग करने की अनुशंसा की जाती है।
तो आपकी क्वेरी इस तरह पढ़नी चाहिए:
SELECT
SUBSTRING(LEFT(configuration,
LOCATE('abhol_firma', configuration) - 30),
LOCATE('treuhand_betrag', configuration) + 22,
100) as configuration /* note the alias here */
FROM
tl_iso_product_collection_item
WHERE
LOCATE('abhol_firma', configuration) > 0
AND LOCATE('treuhand_betrag', configuration) > 0
ORDER BY id DESC
LIMIT 1