我有一个包含单列my_ids
的表id
。接下来,我有一个表值函数fn_getMatches(id)
。我想要的是迭代表my_ids
和每个id
调用函数fn_getMatches(id)
并将所有结果聚合在一个表中。没有显式循环我该怎么做?
我试过了:
select *
from my_ids ids
full outer join fn_getMatches(ids.id) on 1=2
where ids.id is null
但它返回:
Msg 4104,Level 16,State 1,Line 11
无法绑定多部分标识符“ids.id”。
答案 0 :(得分:3)
不知道该功能的作用,或者您期望的结果,也许可以尝试:
select * -- name your columns!
from dbo.my_ids AS ids -- use schema prefix!
cross apply dbo.fn_getMatches(ids.id); -- use schema prefix!
从初次尝试中删除了WHERE
条款和ON
条件。
答案 1 :(得分:1)
SELECT *
FROM my_ids ids
CROSS APPLY fn_getMatches(ids.id)
我并不完全获取您的WHERE子句,因为它似乎意味着您事先知道ids.id
的值,而且始终是NULL
。