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 に答える