SQL Server passant des colonnes de table au paramètre d'une fonction

J'ai une fonction SQL qui renvoie le prix de vente minimum et maximum d'un article. Je voudrais faire une requête qui obtient d'autres colonnes StockItem avec son prix de vente

ainsi:

SELECT i.StockItemID ii, i.Name, i.Code, pli.SellingPrice AS MinSellingPrice, pli.StandardSellingPrice AS MaxSellingPrice, i.WebDetailedDescription, i.WebAdditionalInfo, i.FeaturedItemDescription FROM SC_StockItem AS i, func_GetPrice(17, i.StockItemID, 5) pli 

Cependant cela donne une erreur:

Msg 4104, niveau 16, état 1, ligne 12 L'identificateur en plusieurs parties "i.StockItemID" n'a pas pu être lié.

une idée de comment je peux le faire?

Merci d'avance

Si c'est une fonction de table, vous pouvez utiliser OUTER APPLY :

 select i.StockItemID ii, i.Name, i.Code, pli.SellingPrice as MinSellingPrice, pli.StandardSellingPrice as MaxSellingPrice, i.WebDetailedDescription, i.WebAdditionalInfo, i.FeaturedItemDescription from SC_StockItem as i OUTER APPLY func_GetPrice(17, i.StockItemID, 5) pli 

De MSDN :

L'opérateur APPLY vous permet d'appeler une fonction table pour chaque ligne renvoyée par une expression de table externe d'une requête.