如何在常用表达式表(CTE)上强制使用NOEXPAND?

时间:2011-05-05 19:12:43

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

当我运行以下查询时,多次调用dbo.VerySlowTableValuedFunction()。如何修改它以便只调用一次慢速函数。

with DatesT as (
    ....list of dates....
), slowT as 
(
     select *
     from dbo.VerySlowTableValuedFunction()
)
select DateS, (
     select top 1 [dataseries] 
     from [dataseries] 
     where DateS = p.DateS
     order by DateS desc
 ) as slowData
 from DatesT p

1 个答案:

答案 0 :(得分:1)

从SQL Server 2008开始无法实现。 这已被要求作为一项功能......但目前尚不清楚它是否会包含在Denali中。