Всеки път, когато използвате функции за колони, трябва да им присвоите псевдоним. Причината за това е, че може да използвате много колони във функцията и 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