2012-06-28 126 views
1

我想爲父結果的每一行從函數中獲取結果集。這裏是table1從函數返回查詢結果的結果

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

我想通過表1循環,並獲得在該列中每個項目的函數的結果。該函數返回一個表。

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

我已經嘗試了上述但我得到的錯誤

只有一個表達式可以在選擇列表時,子查詢不與EXISTS引入被指定的查詢。

我該如何編寫一個查詢/函數,它將通過table1循環並將每個項目的結果合併到一個表中?

回答

3

也許是這樣的:

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

雖然你可能不會在量產版使用SELECT *,你可能會經常使用模式前綴和語句結束,對不對? :-)

另外,請別再想這是一個「循環」 ......

+0

根據您的回答,我使用SELECT DISTINCT列,*的時刻。讓我試試這個。 '循環'心態的好處。 – Kermit