0

my_ids単一列のテーブルがありますid。次に、テーブル値関数がありますfn_getMatches(id)。私が欲しいのは、テーブルを繰り返し処理し、関数を呼び出すmy_idsたびに、すべての結果を1つのテーブルに集約することです。明示的なループなしでそれを行うにはどうすればよいですか?idfn_getMatches(id)

私は試した:

select *
from my_ids ids
     full outer join fn_getMatches(ids.id) on 1=2
where ids.id is null

しかし、それは戻ります:

メッセージ4104、レベル16、状態1、行11
マルチパート識別子「ids.id」をバインドできませんでした。

4

2 に答える 2

3

関数が何をするのか、またはどのような結果が期待できるのかわからない場合は、次のことを試してください。

select * -- name your columns!
from dbo.my_ids AS ids -- use schema prefix!
cross apply dbo.fn_getMatches(ids.id); -- use schema prefix!

WHERE最初の試行から句とON基準を削除しました。

于 2012-09-14T17:25:57.633 に答える
1
SELECT  *
        FROM my_ids ids
        CROSS APPLY fn_getMatches(ids.id)

WHERE句は完全にはわかりませids.id。これは、の値を事前に知っていることを意味しているように思われ、常にNULLです。

于 2012-09-14T17:27:00.320 に答える