我有一个SQL函数,它返回商品的最低和最高售价。我想创建一个查询,其中包含其他StockItem列以及它的售价
像这样: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
但是这会产生错误:
消息4104,级别16,状态1,行12多部分标识符 “i.StockItemID”无法受约束。
我知道如何做到这一点?
提前致谢
答案 0 :(得分:21)
如果这是表值函数,那么您可以使用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
APPLY运算符允许您为查询的外表表达式返回的每一行调用表值函数。