我想爲所有產品獲得最便宜的產品變體。對於一種產品來說,這很容易,但是我無法繞過所有這些產品,而且我也不想使用光標。將查詢轉換爲查看或表值功能
select top 1
pv.VariantID
from
ProductVariant pv
inner join (select min(price) as Price from productvariant where ProductID = @ProductID) pr
on pv.Price = pr.Price
where
pv.ProductID = @ProductID
這適用於2代表具有以下結構:
Product - ProductID
ProductVariant - ProductID, VariantID, Price
我知道你可以做到這一點,沒有人知道如何?
將上述查詢轉換爲標量函數並使用它的最佳方法是?因此,這將成爲:
select
ProductID
, dbo.NewFunction(ProductID)
from
Product