2009-05-29 6 views
4

ある関数で分割されなければならない値を持つテーブルがあります。関数Fは値をとり、値のテーブル - 結果はテーブルです。ソーステーブル内のいくつかの列のすべての値にテーブル値関数を適用する

ソーステーブルのすべての値にこの関数を適用し、すべての値が分割された結果テーブルを持つ最も効果的な方法は何ですか?私はカーソルを使用することができますが、もっとスマートな解決方法が存在するのだろうかと思います。

結果のようなものでなければなりません:

SELECT F(column) FROM SourceTable 

しかし、Fは、テーブル値であるため、これは不可能です。

答えて

6

CROSS APPLYはすべきことです。

SELECT * 
FROM SourceTable 
    CROSS APPLY F(Column) 
関連する問題