我真的在用这个问题挣扎。我完成了前三部分。
我不想回答,我只需要朝着正确的方向前进。
以下是问题:
1)第一列应该提供所有类别名称(名为Category Name的列)
2)第二栏应该为我提供所有销售产品的总折扣价(不是
)担心税收或运费)每个类别(名为总订单价值的列)
3)第三栏应该为我提供每个类别中最新订单的日期(列
称为最新订单)。这些日期应该从最后创建的5个订单组中提取。
4)创建一个名为Category Type的第四列,将Basses和Guitars放入'String'
类别类型和“其他”类别类型中的其余工具
按总订单价值从最大值到
组织结果这是我到目前为止所做的:
USE MyGuitarShop
SELECT CategoryName, SUM(DiscountTotal) AS TotalDiscount, MAX(OrderDate) AS NewestOrder
FROM Categories AS C JOIN Products AS P ON C.CategoryID = P.CategoryID
JOIN OrderItems AS OI ON P.ProductID = OI.ProductID
JOIN Orders AS O ON O.OrderID = OI.OrderID
GROUP BY CategoryName
以下是表格的设置方法:
Categories:
CategoryID
CategoryName
Products:
ProductID
CategoryID
ProductCode
ProductName
Description
ListPrice
DiscountPercent
DiscountAmount
DiscountPrice
DateAdded
Orders:
OrderID
CustomerID
OrderDate
ShipAmount
TaxAmount
ShipDate
ShipAddressID
CardType
CardNumber
CardExpires
BillingAddressID
答案 0 :(得分:0)
如果CategoryType是从CategoryName派生的,那么在select子句部分添加:
CASE WHEN CategoryName = 'Guitar' OR CategoryName = 'Bass'
THEN 'String'
ELSE 'Other'
END AS CategoryType
您必须将上述内容添加到GROUP BY部分以及以下内容:
CASE WHEN CategoryName = 'Guitar' OR CategoryName = 'Bass'
THEN 'String'
ELSE 'Other'
END
您必须解释如何计算"总订单价值"在我能做" ORDER BY"。
之前答案 1 :(得分:0)
看到你只需要轻推(4)......看看CASE。祝你好运。