本题目要求编写SQL语句, 建立供应商的销售记录视图vSupStatics,显示供应商号和订单数量,订单总价,分别表示为Sid,ordcount,ordTotalPrice。
时间: 2023-06-20 22:10:02 浏览: 181
假设存在以下三个表:
- Suppliers(供应商表):包含供应商信息,其中Sid为供应商编号。
- Orders(订单表):包含订单信息,其中Sid为供应商编号,Price为订单总价。
- OrderDetails(订单详情表):包含订单详情信息,其中OrderId为订单编号。
则可以使用以下SQL语句创建供应商的销售记录视图vSupStatics:
```
CREATE VIEW vSupStatics AS
SELECT Sid, COUNT(DISTINCT Orders.OrderId) AS ordcount, SUM(Orders.Price) AS ordTotalPrice
FROM Suppliers
LEFT JOIN Orders ON Suppliers.Sid = Orders.Sid
LEFT JOIN OrderDetails ON Orders.OrderId = OrderDetails.OrderId
GROUP BY Sid;
```
解释:
- 使用LEFT JOIN连接Suppliers、Orders和OrderDetails三个表,以便能够获取所有的供应商信息、订单信息和订单详情信息。
- 使用COUNT(DISTINCT Orders.OrderId)计算每个供应商的订单数量,DISTINCT用于去重。
- 使用SUM(Orders.Price)计算每个供应商的订单总价。
- 使用GROUP BY Sid按照供应商编号进行分组,以便能够计算每个供应商的销售记录。