-2

2 つのテーブルを 1 つに結合して、両方のテーブルの列を表示する方法は? 私のテーブルの 1 つは通常のテーブルで、このテーブルから別のテーブルに値をフィードする必要があります。このテーブルは、パラメーターとして取るスカラー値関数です。

例えば

T1 -> | c1 | c2 | c3 | 
  ________________

T2 -> fnGetValue(@c1) -> one column table

これら 2 つのテーブルを組み合わせる必要がありますが、T2 から値を取得するには、c1 をパラメーターとして渡す必要があります。

4

1 に答える 1

1

fnGetValueテーブル値関数の場合は、次のAPPLY演算子を使用できます。

select t1.c1, t1.c2, t1.c3, t2.*
from table1 t1
outer apply fnGetValue(t1.c1) t2

MSDN ドキュメントから:

OUTER APPLY は、結果セットを生成する行と生成しない行の両方を返します。テーブル値関数によって生成された列には NULL 値があります。

がスカラー関数の場合fnGetValue、次を使用できるはずです。

select t1.c1, t1.c2, t1.c3, fnGetValue(t1.c1) as Value
from table1 t1
于 2013-03-04T19:30:43.470 に答える