我有一个表值函数返回一个表.当我尝试使用另一个表加入表值函数时,我没有得到任何结果,但是当我将函数的结果复制到一个实际的表中并进行相同的连接时,我得到预期的结果.
查询看起来像这样:
Select * From myTable INNER JOIN fn_function(@parm1,@param2) ON ....
所有这一切我有大约4个这样的查询,每个都有不同的功能,但所有的功能产生相同的表,但不同的数据.对于其中一些查询,INNER JOIN工作,但对于其他人来说,它不是.
任何建议为什么会发生这种情况?
解决方法
使用表格功能,您通常使用Cross Apply.
Select * From myTable m CROSS APPLY fn_function(m.field1,m.field2)