有没有办法做类似的事情:
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表并将其用作参数。
答案 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