使用單元格中動態生成的行連線錶行

CROSS APPLY 使你可以使用某些表值函式返回的動態生成的行連線表中的行。

想象一下,你有一個 Company 表,其中包含一個包含產品陣列的列(ProductList 列),以及一個解析這些值並返回一組產品的函式。你可以從 Company 表中選擇所有行,在 ProductList 列上應用此函式,並將生成的結果與父 Company 行連線

SELECT *
FROM Companies c 
     CROSS APPLY dbo.GetProductList( c.ProductList ) p

對於每一行, ProductList 單元格的值將提供給該函式,該函式將這些產品作為一組可以與父行連線的行返回。