如何使用仅在“执行时”知道的参数调用UDF?

时间:2011-06-10 10:35:12

标签: sql-server

我正在尝试将表与另一个表连接,该表由UDF提供。 看看这个自我解释的sql代码:

SELECT table1.column1 FROM Table1 table1 
INNER JOIN UDF1(table1.column2) as UDF1 ON XXX(condition doesn´t matter)
WHERE table1.id=100

问题是:table1.column2无法解析。

我无法相信没有办法完成任务,但我找不到怎么做。 感谢。

1 个答案:

答案 0 :(得分:3)

如果要将表中的列用作UDF的参数,则需要使用交叉应用(或外部应用)。

测试一下。它可能会做你想要的。

SELECT table1.column1 
FROM Table1 table1 
  CROSS APPLY UDF1(table1.column2) as UDF1
WHERE table1.id=100