Sql 在select语句中使用表值函数返回值

Sql 在select语句中使用表值函数返回值,sql,sql-server,Sql,Sql Server,我有一个表值函数,返回2列1行。我想在select语句中使用这些值。请帮助我从表中提取值 编辑OP的评论 差不多 select a,b (select c1 from MyTableFunction(Param1, Param2)) as c, (select c2 from MyTableFunction(Param1, Param2)) as d from main_table 如果是其Sql Server,则简单如下: SELECT Col1, Col2 FR

我有一个表值函数,返回2列1行。我想在select语句中使用这些值。请帮助我从表中提取值

编辑OP的评论

差不多

select a,b (select c1 from MyTableFunction(Param1, Param2)) as c, 
           (select c2 from MyTableFunction(Param1, Param2)) as d 
from main_table

如果是其Sql Server,则简单如下:

SELECT Col1, Col2 
FROM Schema.MyTableFunction(Param1, Param2);
编辑

如果传递给函数的参数是常量/独立于其他联接表,则可以对其使用交叉联接、别名和结果列

SELECT a,b, X.Col1 as c, X.Col2 as d 
FROM main_table mt
 CROSS JOIN MyTableFunction(123, 'SomeConstant') AS X;
但是,如果在联接期间需要将表中的列传递到表值函数中,则需要使用


在SQLServer中,只需将函数名放在from中。因此:

select column1
,      column2
from   dbo.udFunctionName('xyz')
在Oracle使用中:

select column1
,      column2
from   table(functionName('xyz'))

张贴你已经得到的东西。另外,您使用的是什么平台?我需要在另一个select查询中使用,例如select a,b从MyTableFunctionParam1中选择c1,Param2作为c,从MyTableFunctionParam1中选择c2,从main_Table中选择Param2作为d,我需要在另一个select查询中使用它,例如select a,b从MyTableFunctionParam1中选择c1,Param2作为c,从MyTableFunctionParam1中选择c2,从main中选择Param2作为d_table@Rajakrishnan:我们仍然不知道您的数据库平台。我需要SQL查询。我需要在另一个select查询中使用它,比如从MyTableFunctionParam1中选择a、b、c1、Param2作为c、从MyTableFunctionParam1中选择c2、从main_表中选择Param2作为d
select column1
,      column2
from   table(functionName('xyz'))