1

親結果の各行の関数から結果セットをフェッチしたいと思います。ここにありtable1ます:

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

table1をループして、列の各項目の関数の結果を取得したいと思います。この関数はテーブルを返します。

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

上記のクエリを試しましたが、エラーが発生します

EXISTSでサブクエリが導入されていない場合、選択リストで指定できる式は1つだけです。

table1をループし、各アイテムの結果を1つのテーブルに結合するクエリ/関数を作成するにはどうすればよいですか?

4

1 に答える 1

3

多分このようなもの:

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

おそらく本番バージョンでは使用SELECT *しないでしょうが、おそらく常にスキーマのプレフィックスとステートメント ターミネータを使用するでしょう。:-)

また、これを「ループ」と考えるのはやめてください...

于 2012-06-28T18:51:49.620 に答える