0

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

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 表并将其用作参数。

4

1 回答 1

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
于 2013-07-25T21:14:41.213 回答