2011-10-10 108 views
1

我有标量函数,它将整数作为参数并返回一个整数。我试图通过传递一个参数作为SELECT语句,它看起来像使用此功能:将select语句作为参数传递给SQL中的标量函数

select dbo.scalarFunc(select si.ID from table1 si where version = 9)

它不会让我这样做。我尝试投射,但仍然没有工作。任何人都可以告诉我,如果我可以使用内部选择这样或不是?

+0

注意'si'是在查询一个未定义的别名.. –

回答

2

我觉得写这个的好方法是:

select dbo.scalarFunc(table1.ID) from table1 where version = 9 

如果你以后要使用它:

select * from table2 where ID = (select dbo.scalarFunc(table1.ID) from table1 where version = 9) 
+0

如果你想稍后使用它,我建议首次将它捕获到变量中。 –

相关问题