从函数返回查询结果的结果
问题描述:
我想为父结果的每一行从函数中获取结果集。这里是table1
:从函数返回查询结果的结果
column
------
a1
a2
a3
a4
a5
我想通过表1循环,并获得在该列中每个项目的函数的结果。该函数返回一个表。
SELECT (SELECT * FROM functionReturnsTable(a.column))
FROM (SELECT column FROM table1) a
我已经尝试了上述但我得到的错误
只有一个表达式可以在选择列表时,子查询不与EXISTS引入被指定的查询。
我该如何编写一个查询/函数,它将通过table1循环并将每个项目的结果合并到一个表中?
答
也许是这样的:
SELECT * FROM dbo.table1 AS a
CROSS APPLY dbo.functionReturnsTable(a.column) AS f;
虽然你可能不会在量产版使用SELECT *
,你可能会经常使用模式前缀和语句结束,对不对? :-)
另外,请别再想这是一个“循环” ......
根据您的回答,我使用SELECT DISTINCT列,*的时刻。让我试试这个。 '循环'心态的好处。 – Kermit