sql2000 + vb6.0
数据库内容如下:
-----------------------------------------------------------------
系列1 系列2 型号 项目 1月份 2月份 3月份 4月份 5月份 6月份 7月份.......
-----------------------------------------------------------------
101   22    A   产量 0     0     0    800  0    0     0
-----------------------------------------------------------------
101   22    A   损耗量 0    0     0    20   0    0     0
----------------------------------------------------------------
101   21    B   产量 0     0     0    300  0    0     0
----------------------------------------------------------------
101   21    B   损耗量 0     0     0   10  0    0      0
------------------------------------------------------------------
101   20    C   产量 0     0     0   250  0    0      0
-------------------------------------------------------------------
101   20    C   损耗量 0     0     0   25  0    0      0
-------------------------------------------------------------------
101系列产量合计    产量   0     0    0   1350   0    0   0     
101系列产量合计    损耗量  0   0     0   55   0    0    0  
-------------------------------------------------------------------
102   26    e   产量 0     0     0   250  0    0      0    
-------------------------------------------------------------------
102   26    e   损耗量 0     0     0   25  0    0      0    
-------------------------------------------------------------------
102系列产量合计    产量   0     0    0   250   0    0   0     
102系列产量合计    损耗量  0   0     0   25   0    0    0  
-------------------------------------------------------------------
产量合计           产量   0     0    0  1600   0    0   0     
产量合计          损耗量  0   0     0   80   0    0    0  
-------------------------------------------------------------------
现在我想要的是如下:
-------------------------------------------------------------------------
系列1 系列2 型号 项目 1月份 2月份 3月份 4月份 5月份 6月份 7月份....... 所占比例
------------------------------------------------------------------------
101   22    A   产量 0     0     0    800  0    0     0           0.593
------------------------------------------------------------------------
101   22    A   损耗量 0    0     0    20   0    0     0           0
-----------------------------------------------------------------------
101   21    B   产量 0     0     0    300  0    0     0           0.222
-----------------------------------------------------------------------
101   21    B   损耗量 0     0     0   10  0    0      0           0
-----------------------------------------------------------------------
101   20    C   产量 0     0     0   250  0    0      0          0.185
-----------------------------------------------------------------------
101   20    C   损耗量 0     0     0   25  0    0      0          0
-----------------------------------------------------------------------
101系列产量合计    产量   0     0    0   1350   0    0   0        0.844
101系列产量合计    损耗量  0   0     0   55   0    0     0          0
-----------------------------------------------------------------------
102   26    e   产量 0     0     0   250  0    0      0           1
-----------------------------------------------------------------------
102   26    e   损耗量 0     0     0   25  0    0      0         0
-----------------------------------------------------------------------
102系列产量合计    产量   0     0    0   250   0    0   0        0.156
102系列产量合计    损耗量  0   0     0   25   0    0    0          0
-----------------------------------------------------------------------
产量合计           产量   0     0    0  1600   0    0   0        
产量合计          损耗量  0   0     0   80   0    0    0  
-----------------------------------------------------------------------
也就是说我想要的是
1、每个型号占系列的百分比。
2、每个系列占系列1的百分比。
以上数据库内容已经排好序。
请各位大侠帮助解决...........谢谢!

解决方案 »

  1.   

    select 表.*,表.2月份/a.合计 from  表,(select  型号,sum(1月份+2月份....) as 合计 from  表 group by 型号) as a  where 表.型号=a.型号
      

  2.   

    谢谢!楼上【蠢瓜】的关注,我还是解决不了.数据我已经排序好,只要 (select 2月份 from表 where 项目='产量' group by 系列1 ,系列2, 型号) 除以 (select 2月份 from表 where 项目='产量' group by 系列1) 思路大概是这样,但语句是错的.
      

  3.   

    select 表.*,表.sum(1月份+2月份....) /a.合计 as 百分比 from  表,(select  系列1 ,系列2, 型号,sum(1月份+2月份....) as 合计 from  表 group by 系列1 ,系列2, 型号) as a  where 表.型号=a.型号
      

  4.   

    【蠢瓜】您好,您的语句我试过,还是不行..
    select 表.*,表.sum(1月份+2月份....) /a.合计 as 百分比 from  表,(select  系列1 ,系列2, 型号,sum(1月份+2月份....) as 合计 from  表 group by 系列1 ,系列2, 型号) as a  where 表.型号=a.型号
    ---------------------------------------------------------------------------------------
    表.sum(1月份+2月份....) /a.合计好------中的(表.sum(1月份+2月份....))是不能这样sum的因为我的数据库里有"产量"和"损耗量".我只想要"产量"的比例.
    大概是这样,但是语句不能这样写.......(select  系列1 ,系列2, 型号,sum(1月份+2月份...) as 小计 from  表 group by 系列1 ,系列2, 型号)这句不能用group by.... 如果可以,那算出来的算才对.....
    select 表.*,(select  系列1 ,系列2, 型号,sum(1月份+2月份...) as 小计 from  表 group by 系列1 ,系列2, 型号)/a.合计 as 百分比 from  表,(select  系列1 ,系列2,sum(1月份+2月份....) as 合计 from  表 group by 系列1 ,系列2)