オブジェクト ID を受け取り、割り当てられた課題 ID を返す関数「fnc_FindIssueId」があります。
純粋な select ステートメントを使用して関数を呼び出すと、正常に動作します。
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);
その理由と解決方法は?