Проблема в том, что подзапрос с псевдонимом tmp
, который вы определили в своем запросе, имеет столбец с именем entid
, поэтому анализатор не знает, относится ли ссылка на entid
в условии WHERE
на этот столбец или переменную функции.
Правда, они содержат одно и то же значение, так что в действительности это не имеет значения, но все еще существует синтаксическая неоднозначность.
Вы должны квалифицировать entid
в условии WHERE
либо псевдонимом tmp
, либо именем функции add_config_to_enterprise
, чтобы устранить неоднозначность.
Ваш запрос излишне сложен и неоправдан, настолько, что я не могу его понять и улучшить. Упрощение этого избавит от проблемы.