我正在尝试执行以下操作:我知道可能还有其他方法可以做到这一点,但必须使用临时表。
我相信我应该做的是制作一个临时表,显示一周中的每一天,并在其旁边显示本周迄今为止售出的书籍数量。如果您认为该问题需要其他内容,请告诉我。即使在阅读了临时表之后,我仍然不知道它们是如何工作的。
我在数据库中的表是:
- 作者
- 图书
- 类别
- 图书分类
- 顾客
- 订单
- 订单行
- 订单状态
我想你可以假设这些表格填充了什么样的字段。
提前致谢!
我正在尝试执行以下操作:我知道可能还有其他方法可以做到这一点,但必须使用临时表。
我相信我应该做的是制作一个临时表,显示一周中的每一天,并在其旁边显示本周迄今为止售出的书籍数量。如果您认为该问题需要其他内容,请告诉我。即使在阅读了临时表之后,我仍然不知道它们是如何工作的。
我在数据库中的表是:
我想你可以假设这些表格填充了什么样的字段。
提前致谢!
您没有提供列,所以这是一个猜测。这是你想要的?
select DATENAME(weekday, Orders.OrderDate) as [weekday], Orders.OrderDate as [Date], Category.Description as Category, Authors.State, isnull(SUM(OrderLine.Quantity),0) as [NumberSold]
into #booksales
from Books
Left Outer join OrderLine
on Books.BookID = OrderLine.BookID
Join Orders
on Orders.OrderID=OrderLine.OrderID
Join Authors
on Books.AuthorID = Authors.AuthorID
Join Category
on Books.CategoryID = Category.CategoryID
WHERE Orders.OrderDate BETWEEN @begindate AND @enddate
GROUP BY DATENAME(weekday, Orders.OrderDate), Orders.OrderDate, Category.Description, Authors.State
这假定您有设置为一周的开始和结束日期的 DATE 类型的变量。