微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 SQL 查询中的值列表运行函数?

如何解决如何从 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 举报,一经查实,本站将立刻删除。