我装的是SQL SERVER 2000SP4
初学
看了一下Northwind示例数据库,对两个视图返回的结果不能理解,请哪位高人解释一下,谢谢
一个视图是:Product Sales for 1997
另一个是:Sales by Category
这两个视图都返回了CategoryName,ProductName和计算得到的ProductSales
为什么两个的productsales有的一样有的不一样?
为什么productsale结果不一样?

解决方案 »

  1.   

    Summary of Sales by Quarter 和Summary of Sales by Quarter这两个视图怎么是一样的啊?
      

  2.   

    ---------把这两视图的SQL看懂了你也就明白了.create view "Product Sales for 1997" AS
    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
    ------
      

  3.   

    GROUP BY Categories.CategoryName, Products.ProductName,另一个
    GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName这还不明白,你多看一些基础书吧