回答
您需要使用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. Elixir - 通过函数参数
- 4. 如何通过一个模板函数模板参数列表
- 5. 如何通过一个函数传递参数给函数? (ES6)
- 6. 如何通过URL将参数值作为参数值
- 7. C++:通过模板传递参数Vs通过函数参数
- 8. 如何通过参数函数参数来重载函数切换
- 9. 通过名称参数和函数使用按值参数重载函数
- 10. 如何通过jsoup获取参数值?
- 11. 如何通过参数值的Android
- 12. 如何通过Xpath的值javascript函数
- 13. 如何通过DATA-值jQuery函数
- 14. 查询参数值的通过列表
- 15. 如何通过JSF参数的值作为方法参数?
- 16. 通过函数参数打印特定数组值
- 17. 如何通过参数
- 18. 如何通过Sql参数
- 19. 如何通过参数angularjs
- 20. 通过参数值检测
- 21. 如何通过设置多个参数值来获取报表参数SSRS
- 22. 如何通过函数内部的回调函数返回值?
- 23. 函数创建通过参数
- 24. 通过函数参数传递变量
- 25. 通过jquery函数的2个参数
- 26. 通过onclick函数发送参数 - Javascript
- 27. Javascript函数的参数通过DOM
- 28. 通过高阶函数传递参数
- 29. 无法通过ylim参数的函数
- 30. 通过无效作为函数参数
Rajivdas:你能否澄清你的问题多一点。恐怕我们每个人都用不同的方式解释它 – kristof 2008-12-03 16:07:43