我想那一定很明显,但我想不出来。
假设有一张桌子 tblData 用柱 ID 和表值函数( _tvf 这需要一个 身份证件 作为参数。我需要所有身份证的结果 TBLATDATA .
tblData
ID
_tvf
身份证件
TBLATDATA
但是:
SELECT * FROM tblData data INNER JOIN dbo._tvf(data.ID) AS tvfData ON data.ID = tvfData.ID
给我一个错误: The multi-part identifier "data.ID" could not be bound
The multi-part identifier "data.ID" could not be bound
将所有ID传递到此TVF和Concat结果的正确方法是什么?
谢谢
我认为您可能需要使用交叉应用而不是内部联接:
SELECT * FROM dbo.tblData data CROSS APPLY dbo._tvf(data.ID) AS tvfData
这将调用每个 data.ID 并将结果联接到基表的列。
data.ID
请参阅此处的资源: