У меня есть функция «fnc_FindIssueId», которая принимает идентификатор объекта и возвращает его присвоенный идентификатор проблемы.Как использовать SQL-функцию с INNER JOIN в MySQL?
Когда я вызываю функцию с использованием чистых операторов выбора, она отлично работает:
select fnc_FindIssueId(150083); // returns 1 as issueId for objectId of 150083
select fnc_FindIssueId(150072); // returns 2 as issueId for objectId of 150072
Но когда я использую его в качестве внутреннего соединения, он переходит в нескончаемом цикле:
select so.id, si.id
from smart_objects as so
LEFT OUTER join smart_issues as si
on si.id = fnc_FindIssueId(so.id)
where so.id in (150083, 150072);
В чем причина и как его решить?
Ваш второй пример: ** OUTER ** join, а не * INNER * join. –