SQL:您可以在不使用表变量/临时表的情况下链接表值函数吗?

时间:2013-07-25 20:51:52

标签: sql function

有没有办法做类似的事情:

select * from dbo.tvFunctionA(select * from dbo.tvFunctionB())

不使用中间表变量?

我问的原因是因为我有这样的事情:

create function dbo.tvFunctionA()
returns table as return
with B as (
    select * from dbo.tvFunctionB()
)
select
    blah, blah, blah
join B B1 ...
join B B2 ...
...
join B B99 ...
显然,WITH CTE表现不佳。

我想加快ITVF的速度,并试图取出CTE表并将其用作参数。

1 个答案:

答案 0 :(得分:0)

试试这些:

SELECT A.*
FROM (

with B as (
    select * from dbo.tvFunctionB()
)
select
    blah, blah, blah
join B B1 ...
join B B2 ...
...
join B B99 ...

) AS A