-2

如何将两个表合并为一个显示两个表中的列的表?我的一个表是常规表,我需要从这个表中将值提供给另一个表,该表是标量值函数作为参数。

例如

T1 -> | c1 | c2 | c3 | 
  ________________

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

我需要组合这两个表,但 c1 需要作为参数传递以从 T2 获取值。

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 回答