T-SQL存储过程:销售排行

本文介绍了一个用于统计销售排行的存储过程实现方案。该过程能够根据产品类别ID筛选出最热门的产品销售情况,并通过连接不同表格来获取产品的详细信息及图片路径。此存储过程灵活地处理了整体和特定类别的产品销售排名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

销售排行,从周统计表提取数据

连接类别表

CREATE PROCEDURE [dbo].[GetHotSales]
@PCID int
AS
BEGIN
IF(@PCID=-1)
BEGIN
SELECT IA.ProductCode,IA.ProductName,IA.PNum,IB.PhotoPath FROM
(
SELECT TOP 5 OA.ProductName,OB.ProductCode,OB.PNum
FROM
Product OA,
(
SELECT A.ProductCode,A.PNum FROM
(
SELECT ProductID AS ProductCode,SaleAmount AS PNum FROM w_Product_Sales 
WHERE SumType=2
)A 
WHERE A.PNum>0
) OB
WHERE OA.ProductCode=OB.ProductCode
Order By OB.PNum DESC
)IA
LEFT OUTER JOIN
(
SELECT ProductCode,PhotoPath FROM w_ProductPhotos WHERE PhotoType=0 and IsMain=1
) IB
ON IA.ProductCode=IB.ProductCode
END
ELSE
BEGIN
SELECT IA.ProductCode,IA.ProductName,IA.PNum,IB.PhotoPath FROM
(
SELECT TOP 5 OA.ProductName,OB.ProductCode,OB.PNum
FROM
Product OA,
(
SELECT WA.ProductCode,WA.PNum FROM
(
SELECT A.ProductCode,A.PNum FROM
(
SELECT ProductID AS ProductCode,SaleAmount AS PNum FROM w_Product_Sales 
WHERE SumType=2
)A 
WHERE A.PNum>0
) WA,
(
SELECT DISTINCT b.ProductCode FROM w_cateselect a,w_productsandcategorys b
WHERE a.w_p_pcid=b.pcid and a.pcid=@PCID
)WB
WHERE WA.ProductCode=WB.ProductCode
) OB
WHERE OA.ProductCode=OB.ProductCode
Order By OB.PNum DESC
)IA
LEFT OUTER JOIN
(
SELECT ProductCode,PhotoPath FROM w_ProductPhotos WHERE PhotoType=0 and IsMain=1
) IB
ON IA.ProductCode=IB.ProductCode
END
END

 


转载于:https://www.cnblogs.com/lixx/archive/2008/09/25/1299028.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值