用户提供日期和数字N.当天生产N个畅销商品。该日期显示该畅销书的标题,公司,当前库存和销售副本数量。应根据销售情况订购产品:最畅销的产品应该是第一个,第二个应该是最好的,等等。
DBMS:SQL Server
表格:
Item
(upc(pk),标题,类型,类别,公司,年份,价格,股票)PurchaseItem
(receiptId(pk),upc(pk),数量)这是我到目前为止所拥有的:
SELECT TOP(N)
DATE(year) as date, I.title, I.company, I.stock, P.quantity, I.upc
FROM
Item I, Purchase P
WHERE
I.upc = P.upc
GROUP BY
I.upc
ORDER BY
SUM(P.quantity) DESC
只需要一些帮助来纠正这个问题并进行检查。
谢谢!
答案 0 :(得分:0)
您可以在cte
的指定日期获得每件商品的总销售数量然后,您可以应用顶级逻辑来按顺序对销售总量进行过滤。
declare @inputDate datetime
;with cte
as
( select I.upc, SUM(quantity) as TotalSold
from Item I
join Purchase P
on I.upc = P.upc
and I.date = @inputDate
group by I.upc
)
SELECT TOP 10 I.date, I.upc, I.title, I.company, I.stock, cte.TotalSold
FROM Item I
join cte
on I.upc = cte.upc
order by cte.TotalSold desc