将参数传递给顶级CTE的内联函数

时间:2014-07-09 12:00:30

标签: sql-server sql-server-2008-r2 common-table-expression

我需要将参数传递给顶级CTE的内联函数。有可能吗?

这是我需要的东西。

with a
(
 select * from table1
),
b as
(
   select * from
   (
      select * from inline_function(a.parameter1)
   )
   as c
)

1 个答案:

答案 0 :(得分:1)

您可能意味着为CTE a返回的每一行调用该函数一次。

为此,您应该使用APPLY

with a
(
  select *
  from dbo.table1
),
b as
(
  select c.*
  from a
    cross apply dbo.inline_function(a.parameter1) as c
)