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

解决方案 »

  1.   

    如果想试就试试UNION的句法。
      

  2.   

    PARAMETERS 开始日期 DateTime, 截止日期 DateTime;
    SELECT dbo_employee_work.shopname, dbo_employee_work.indate, dbo_employee_work.employee, dbo_employee_work.product, dbo_employee_work.workname, dbo_employee_work.finish_num, dbo_employee_work.bad_num
    FROM dbo_employee_work
    WHERE (((dbo_employee_work.indate)>=[开始日期] And (dbo_employee_work.indate)<=[截止日期]) AND ((dbo_employee_work.employee) Not Like '*材料*' And (dbo_employee_work.employee) Not Like '*柴桥*') AND ((dbo_employee_work.product)<>"0"));
      

  3.   

    有(dh1,dh2,dh3,dh4,dh5,dh6,dh7)7个字段,能样写个最简单的查询,列出like 任何字段的记录分别为(1,2,3,4,5,6,7),(11,22,33,44,55,66,77),(a,b,c,d,e,f,g),我查询a,则出来第三条记录,查询1,则出来第一第二条记录,查询77,则出来第二条记录(另,我不想用OR)来查询.
    --联合字段查询
    where isnull(dh1,'') + '任意特殊字符' + isnull(dh2,'') +
                           '任意特殊字符' + isnull(dh3,'') + ...... +
                           '任意特殊字符' + isnull(dh7,'') like '%查询字串%'
      

  4.   

    课程表c(c#,cName)
    学生学习课程表sc(s#,c#,grade)
    要求写出:
    学习了所有课程的学生号select distinct s# from sc a
    where not exists
    (
    select 1 from c 
    where c# not in(select c# from sc where s#=a.s#)
    )
      

  5.   

    hehe,where套where,好!
    有没有用Group by等等的?!
      

  6.   

    真没意思,能不能在什么地方多拷贝几个Select语句?!我要好好学习,找规律!