a表: id     类别
       1     全价料
       2     禽料
       3     预混料
       4     浓缩料
b表 客户名称  类别   吨数  
     小王    全价料  0.1    
     小李    预混料  0.05   
     小王    全价料  0.02      
     小王    浓缩料  0.1    
     小王    浓缩料  0.1    要通过一条sql语句得到:
c表:客户名称 全价料 禽料  预混料  浓缩料 小计
       小王    0.12    0     0       0.2   0.32
       小李    0       0     0.05     0    0.05
       总计    0.12    0     0.05    0.2   0.37
我用的是vb+access.谢谢

解决方案 »

  1.   

    可以,Access 支持交叉表查询:TRANSFORM Sum(b.吨数) AS 吨数Sum
    SELECT b.客户名称
    FROM b
    GROUP BY b.客户名称
    PIVOT b.类别;
      

  2.   

    这个查询需要分组进行统计,并且分类统计,得使用Copute By字句,具体的我忘了...
    然后使用conn.execute(strSQL)解决...
      

  3.   

    a表: id     类别
           1     全价料
           2     禽料
           3     预混料
           4     浓缩料
    是不是少字段的?他和b表连接只能知道ID。