如何解决如何从 SQL 查询中的值列表运行函数?
我有一个 sql 函数,它接受一个数字并根据它返回值。假设它被称为 my_function(@RefNumber)。
我想根据另一个查询的结果多次运行该函数。表中有父子关系,我想为父号中的每个子号运行该函数。
对于这样的表格:
父 | 子 |
---|---|
100 | 1 |
100 | 2 |
100 | 3 |
100 | 4 |
100 | 5 |
使用上面的示例表,我想根据我将父编号 100 传递给它,要求函数运行 5 次,每次将 @RefNumber 设置为下一个相应的子编号 我会说对于父母 100 中的每个孩子,运行 my_function
my_function(1),my_function(2) ... 直到 my_function(5)
感谢您对此的任何帮助。我假设我需要某种循环和设置功能。
谢谢
解决方法
在大多数数据库中,您可以将标量函数运行为:
select t.*,my_function(child)
from t
where parent = 100;
如果您的函数是 SQL Server 中的表值函数,您可以使用 apply
:
select *
from t cross apply
dbo.my_function(child)
where parent = 100;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。