试试这个没有测试
SELECT  SUM(UnitPrice*Amount)
  2  FROM "5000YEARS"."ContactItems"  ,"5000YEARS"."BuySales"  ,"5000YEARS"."Parts" where 
WHERE BuySales.BuySale='S'
    AND ContactID=BuySales.ID
    AND "ContactItems".Parts="Parts".ID
    GROUP BY "ContactItems".Parts;

解决方案 »

  1.   

    估计前面的不行,你可以参照下面的,再改一改
    SELECT  SUM(a.UnitPrice*a.Amount)
    FROM "5000YEARS"."ContactItems" a ,"5000YEARS"."BuySales" b ,"5000YEARS"."Parts" c where 
    WHERE b.BuySale='S'
        AND a.ContactID=b.ID
        AND aParts=c.ID
        GROUP BY a.Parts;
      

  2.   

    SELECT SUM(a.UnitPrice*a.Amount) FROM ContactItems a,BuySales b,Parts c
     WHERE b.BuySale='S' AND a.CONTACTID=b.ID AND a.Parts=c.ID GROUP BY c.id;
      

  3.   

    楼上的加上方案名就好使了
     w_tsinghua() 的告诉有点毛病
    SQL> SELECT  SUM(a.UnitPrice*a.Amount)
      2  FROM "5000YEARS"."ContactItems" a ,"5000YEARS"."BuySales" b ,"5000YEARS"."Parts" c where 
      3  WHERE b.BuySale='S'
      4      AND a.ContactID=b.ID
      5      AND aParts=c.ID
      6      GROUP BY a.Parts;
    WHERE b.BuySale='S'
    *
    ERROR 位于第3行
    ORA-00936: 缺少表达式
    两位大侠能告诉我我错误所在吗!太谢谢了
      

  4.   

    注意你语句的第2,3行重复用了2个WHERE,去掉一个再试吧
      

  5.   

    w_tsinghua() 
    的回复中缺一个.(点)
    在后面的尝试中.已经加上了但是还是提示第3行缺少表达式
      

  6.   

    SELECT  SUM(ci.UnitPrice*ci.Amount),ci.Parts  --最好说明这两个字段属于哪张表
        FROM ContactItems ci,BuySales bs,Parts p
        WHERE bs.BuySale='S'
        AND ci.ContactID=bs.ID
        AND ci.Parts=p.ID
        GROUP BY ci.Parts;
      

  7.   

    表名的大小写问题,"5000YEARS"."Parts" 告诉Oracle你的表名是区分大小写的,也就是你的表名必须是Parts,但是若表名未加双引号则表示表名不区分大小写,Oracle自动使用大写的表名PARTS.所以改为下面的样子应该没有问题了。
    SELECT  SUM(UnitPrice*Amount)
      FROM "5000YEARS"."ContactItems" ,"5000YEARS"."BuySales","5000YEARS"."Parts"
      WHERE "BuySales".BuySale='S'
      AND ContactID="BuySales".ID
      AND "ContactItems".Parts="Parts".ID
      GROUP BY "ContactItems".Parts;
      

  8.   

    特别感谢Lastdrop(空杯) 的回复,谢谢大家的指点。不胜感激!!!!!!!!!!