回答
您需要使用CROSS APPLY实现此目的
select
f.*
from
users u
cross apply dbo.tvfHello(u.ID) f
这看起来不错给我,除了你应该总是与他们的架构(通常是DBO)前缀的功能。因此,查询应该是:
SELECT * FROM dbo.tvfHello(@param) WHERE @param IN (SELECT ID FROM Users)
我不认为,那会奏效。如果你没有定义@param,你会得到:必须声明标量变量“@参数”。错误。如果你定义了@param,你会得到结果给任何@param分配的(默认为NULL)。要获得全套结果,您需要使用CROSS APPLY – kristof 2008-12-03 10:45:38
你在说什么?我只是纠正了句子中提供的查询。 Rajivdas从未说明他的查询的意图,所以你不可能知道他是否需要进行CROSS APPLY。 – 2008-12-03 11:05:45
的确,问题并不十分清楚,我根据Rajivdas提出的评论回答乔希的回答。看看NTulip发表的评论,看看有些人感到困惑。但肯定的是,我本来可能会在我的案例中错误地解释 – kristof 2008-12-03 16:05:09
在AdventureWorks数据库以下工作:
CREATE FUNCTION dbo.EmployeeByID(@employeeID int)
RETURNS TABLE
AS RETURN
(
SELECT * FROM HumanResources.Employee WHERE EmployeeID = @employeeID
)
GO
DECLARE @employeeId int
set @employeeId=10
select * from
EmployeeById(@employeeId)
WHERE @EmployeeId in (SELECT EmployeeId FROM HumanResources.Employee)
编辑
基于克里斯托夫的专业知识,如果你试图让你多值我已经更新了这个样本可以举例:
select *
from HumanResources.Employee e
CROSS APPLY EmployeeById(e.EmployeeId)
WHERE e.EmployeeId in (5,6,7,8)
- 1. 如何通过OID参数PostgreSQL函数
- 2. 如何通过一个模板函数模板参数列表
- 3. C++:通过模板传递参数Vs通过函数参数
- 4. 如何通过参数值的Android
- 5. 如何通过Xpath的值javascript函数
- 6. 如何通过DATA-值jQuery函数
- 7. 查询参数值的通过列表
- 8. 如何通过JSF参数的值作为方法参数?
- 9. 如何通过参数angularjs
- 10. 如何通过设置多个参数值来获取报表参数SSRS
- 11. 通过高阶函数传递参数
- 12. php函数调用参数不通过
- 13. 无法通过ylim参数的函数
- 14. 函数创建通过参数
- 15. 通过函数参数确定变量
- 16. 通过匿名函数作为参数
- 17. 通过onclick函数发送参数 - Javascript
- 18. 通过函数传递参数
- 19. 通过函数参数传递变量
- 20. 通过引用C函数的参数
- 21. 通过函数修改参数
- 22. 通过db.transaction函数传递参数
- 23. 通过函数传递值
- 24. 如何通过匿名块值与PLSQL表参数
- 25. 如何防止表值函数参数的空值?
- 26. 如何通过值从C#参数传递给JavaScript函数与Gekofx
- 27. 通过函数参数动态设置json对象的值
- 28. 如何通过一个函数作为参数拉斯特
- 29. ZF2 - 我如何通过构造函数参数在Module.php
- 30. 如何通过POST将参数传递给Azure函数?
Rajivdas:你能否澄清你的问题多一点。恐怕我们每个人都用不同的方式解释它 – kristof 2008-12-03 16:07:43