Вы должны использовать CROSS APPLY, как это
select top 1000
a.*, b.*
from
item a
CROSS APPLY
dbo.fn_GIVFUC('1234567', a.item_id) c ON a.item_id = c.item_id
LEFT JOIN
itemList b on a.item_id = b.item_id
Это означает, что вы можете получить дубликаты, так что это может работать. Я не могу проверить
select top 1000
a.*, b.*
from
item a
LEFT JOIN
itemList b on a.item_id = b.item_id
WHERE
EXISTS (
SELECT *
FROM dbo.fn_GIVFUC('1234567', a.item_id)
-- may need this WHERE a.item_id = c.item_id
)