我装的是SQL SERVER 2000SP4
初学
看了一下Northwind示例数据库,对两个视图返回的结果不能理解,请哪位高人解释一下,谢谢
一个视图是:Product Sales for 1997
另一个是:Sales by Category
这两个视图都返回了CategoryName,ProductName和计算得到的ProductSales
为什么两个的productsales有的一样有的不一样?
为什么productsale结果不一样?
初学
看了一下Northwind示例数据库,对两个视图返回的结果不能理解,请哪位高人解释一下,谢谢
一个视图是:Product Sales for 1997
另一个是:Sales by Category
这两个视图都返回了CategoryName,ProductName和计算得到的ProductSales
为什么两个的productsales有的一样有的不一样?
为什么productsale结果不一样?
SELECT Categories.CategoryName, Products.ProductName,
Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ProductSales
FROM (Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID)
INNER JOIN (Orders
INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID)
ON Products.ProductID = "Order Details".ProductID
WHERE (((Orders.ShippedDate) Between '19970101' And '19971231'))
GROUP BY Categories.CategoryName, Products.ProductName-----------create view "Sales by Category" AS
SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName,
Sum("Order Details Extended".ExtendedPrice) AS ProductSales
FROM Categories INNER JOIN
(Products INNER JOIN
(Orders INNER JOIN "Order Details Extended" ON Orders.OrderID = "Order Details Extended".OrderID)
ON Products.ProductID = "Order Details Extended".ProductID)
ON Categories.CategoryID = Products.CategoryID
WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName
--ORDER BY Products.ProductName
------
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName这还不明白,你多看一些基础书吧