T-sql语句,存储过程

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:52:17
[Order]表:OrderID(PK),ProductPhoto(FK),UserEmail,ProductQuantity,HandleTime,OrderState;
Category表:CID(PK),CName,PID;
Product表:ProductName,ProductPhoto(PK),UserEmail(FK),CID(FK),Price,Quantity,Description,PublishTime;

--存储过程,获取某类别的销量前n的商品,,销量按订单中卖的产品数量,,

CREATE PROCEDURE P_SelectPopular
@categoryid nvarchar(20),
@num int = 10
AS
BEGIN
SELECT TOP(@num) Product.ProductName,Product.ProductPhoto,Category.CName,SUM(Order.ProductQuantity) AS Quantity
*************************************************
请完善。。必须要获取产品名,和图片地址,类别名,以及卖出数量。
大哥些,看清楚再回答ok?

销量前n,,你们两都没有用order by,,怎么排序?
测试自己测试了再回答好不好?

补充:我写的里面sum(Order.Quantity)中order加个[]

CREATE PROCEDURE P_SelectPopular
@categoryid nvarchar(20),
@num int = 10
AS
BEGIN
SELECT TOP(@num) a.ProductName,a.ProductPhoto,b.CName,SUM(c.ProductQuantity) AS Quantity
FROM Product a
JOIN Category b
ON a.CID = b.CID
JOIN [Order] c
ON a.ProductPhoto = c.ProductPhoto
GROUP BY
a.ProductName,a.ProductPhoto,b.CName
ORDER BY SUM(c.ProductQuantity)
END

修改后的存储过程如下:
CREATE PROCEDURE P_SelectPopular
@categoryid nvarchar(20),
@num int = 10
AS
BEGIN
SELECT TOP(@num) Product.ProductName,Product.ProductPhoto,Category.CName,SUM(Order.ProductQuantity) AS Quantity
from Category,Product,[Order]
where Category.CID=@categoryid
and Category.CID =Product.CID
and [Order].ProductPhoto =Product.ProductPhoto
end
主要就是将表进行连接起来查询,并对条件进行限制,
呵呵,希望能有帮助,^_^