从查询返回表的函数中获取结果

时间:2012-06-28 18:48:53

标签: sql sql-server tsql

我想从父函数的每一行的函数中获取结果集。这是table1

column
------
a1
a2
a3
a4
a5

我想遍历table1并获取列中每个项目的函数结果。该函数返回一个表。

SELECT (SELECT * FROM functionReturnsTable(a.column))
FROM (SELECT column FROM table1) a

我已尝试过上面的查询,但是我收到了错误

  

当EXISTS没有引入子查询时,只能在选择列表中指定一个表达式。

如何编写将循环遍历table1并将每个项目的结果合并到一个表中的查询/函数?

1 个答案:

答案 0 :(得分:3)

也许是这样的:

SELECT * FROM dbo.table1 AS a
CROSS APPLY dbo.functionReturnsTable(a.column) AS f;

虽然您可能不会在生产版本中使用SELECT *,但您可能总是使用模式前缀和语句终止符,对吧? : - )

另外,请停止将此视为“循环”......