(select sum(aa.qty) from "Finish01.DB" aa, 
 WHERE   (aa.stockcode = 1)
    AND  (aa.Part = Prodlist.Partsno)
    AND  (Prodlist.Series = Series.Series)) as 期初数

解决方案 »

  1.   

    SELECT Series."Series-name" as 产品分类, avg(Prodlist.Uniteprice) as 期初单价,sum(aa.qty) as 期初数
    FROM "Finish01.DB" Finish01, "series.DB" Series, "Prodlist.DB" Prodlist,"Finish01.DB" aa, "series.DB" bb, "Prodlist.DB" cc
    WHERE   (Finish01.Part = Prodlist.Partsno)
       AND  (Prodlist.Series = Series.Series) and (aa.stockcode = 1)
        AND  (aa.Part = cc.Partsno)
        AND  (cc.Series = bb.Series)
    group by Series."Series-name" 
     
      

  2.   

    将子查询(select sum(aa.qty) from "Finish01.DB" aa, "series.DB" bb, "Prodlist.DB" cc
     WHERE   (aa.stockcode = 1)
        AND  (aa.Part = cc.Partsno)
        AND  (cc.Series = bb.Series)) as 期初数  当成一个表进行处理,重新写SQL
      

  3.   

    group by Series."Series-name"
    有问题吧?好像前面select 中的不匹配
      

  4.   

    to windindance & hammer_shi:
      两位的方法我都试过了,都不行,其中windindance大哥的方法执行后"期初数"都一样,而hammer_shi大哥的方法得出的期初数是实际的好几百倍,打开QUERY的时候,我的PIII的机子停滞的足足一分钟.大家再帮忙看看吧.
      

  5.   

    WHERE   (aa.stockcode = 1)
        AND  (aa.Part = Prodlist.Partsno)
        AND  (Prodlist.Series = Series.Series)
    AND (aa.Part = Prodlist.Partsno)
    ) as 期初数
    行否
      

  6.   

    对不起,开始我没看清楚,现在用下面的代码试试:
    SELECT Series."Series-name" as 产品分类, avg(Prodlist.Uniteprice) as 期初单价,sum(aa.qty)  as 期初数
    (select from 
     WHERE   (Finish01.stockcode = 1)
        AND  (Finish01.Part = Prodlist .Partsno)
        AND  (Prodlist .Series = Series.Series))
    FROM "Finish01.DB" Finish01, "series.DB" Series, "Prodlist.DB" Prodlist 
    WHERE   (Finish01.Part = Prodlist.Partsno)
       AND  (Prodlist.Series = Series.Series)
    group by Series."Series-name"
    要是你每个表里面的数据多于1万的话最好是建中间表,要不可能需要很长的时间。
      

  7.   

    既然都是在相同的三个表里面那么你所写的子查询就不需要,反正你需要连立3个表;
    至于分组,按理论就是在你Select 中的非分组查询条件都要用到,由于你只有Series."Series-name" 那么肯定可以。要不你就是有其他的select选项。SELECT Series."Series-name" as 产品分类, avg(Prodlist.Uniteprice) as 期初单价,sum(Finish01.qty)  as 期初数
    FROM "Finish01.DB" Finish01, "series.DB" Series, "Prodlist.DB" Prodlist 
    WHERE   (Finish01.Part = Prodlist.Partsno)
       AND  (Prodlist.Series = Series.Series) and (Finish01.stockcode = 1)group by Series."Series-name"你把上面的语句拷贝运行看看是不是要的结果。否则我也没招。
      

  8.   

    要不你这样试试:
    SELECT Series."Series-name" as 产品分类, avg(Prodlist.Uniteprice) as 期初单价,
    (select sum(aa.qty) as 期初数 from "Finish01.DB" aa, "series.DB" bb, "Prodlist.DB" cc
     WHERE   (aa.stockcode = 1)
        AND  (aa.Part = cc.Partsno)
        AND  (cc.Series = bb.Series)) 
    FROM "Finish01.DB" Finish01, "series.DB" Series, "Prodlist.DB" Prodlist
    WHERE   (Finish01.Part = Prodlist.Partsno)
       AND  (Prodlist.Series = Series.Series)
    group by Series."Series-name"