質問

指定義:

CREATE TABLE MyTable
(
    col1 int,
    col2 int,
    col3 int,
    col4 int
)

CREATE FUNCTION fn_MyFunction
(
    @Param1 int,
    @Param2 int
)
RETURNS TABLE AS RETURN
(
    SELECT @Param1 * 2 AS 'res1', @Param2 * 4 AS 'res2', @Param1 AS 'col3'
)

うことにより参加の機能をうまく計算値 (s) です。例:でのご予約はテーブル、いく必要がある価格に基づき、開始日、終了日時。

ここでは一例です索:

SELECT      tbl.col1
,           tbl.col2
,           tbl.col3
,           fn.res1
,           fn.res1
FROM        MyTable tbl
CROSS APPLY fn_MyFunction(tbl.col3, tbl.col4) fn
WHERE       fn.col3 = tbl.col3

を感じるのだと思い、正しい結果を実際のクエリは、どのようなケース、 CROSS APPLY の結果かるでしょうか?ない行による列(有)?たな仕組みになっているのと同様に、 CROSS JOIN (ie:作問い)?

役に立ちましたか?

解決

CROSS APPLY かテーブルの価値機能で使用されているパラメータから各行のクエリーを塗ります。その機能は一度しか評価された各行に出力する暗黙のうちに加わり、ソース列の記録からのパラメータを取得しました。なお、この'join'1:M-a TVF一列でソースを生成できる複数行の出力からTVF.

だけを利用する必要があ述語のwhere節の結果の場合以外は、かたいさらにフィルタの出力機能を追加であったが,.

CROSS APPLY はかなり便利なとxpathかどうかを問い合わせますとなっておりferreting周辺のXML分野を含めることができる繰り返します。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top