有2表:
单位信息表A(A1:单位编码;A2:单位名称),结构如下:
A1------------A2
1001--------单位1  
1002--------单位2  
1003--------单位3  
1004--------单位4  工资发放表B(B1单位编码;B2统发编码;B3个人编码;B4姓名;B5应发;B6实发;B7:发放月份),
结构如下:
B1-----B2----B3---------B4-----B5------B6------B7
1001--201---11111111---张三---800.00--780.00--2011-5
1001--201---11111111---张三---800.00--780.00--2011-6
1001--301---11111111---张三---800.00--780.00--2011-7
--------------------------------------------------------
要得到如下报表,怎么做?单位名称..统发编码...实发合计....应发合计
...........201........780.00........800.00
单位1......301........780.00........800.00
单位2... ..201........900.00........1200.00
.................................---------------------------------------------
有些单位一个统发编码,有的多个。这种SQL语句怎么写。谢谢

解决方案 »

  1.   

    分月的:SELECT A2, B2, BB5, BB6, B7 FROM A 
    INNER JOIN (SELECT B1,B2,SUM(B5) BB5,SUM(B6) BB6,B7 FROM B GROUP BY B1,B2,B7) BB ON
    A.A1 = BB.B1不分月的:SELECT A2, B2, BB5, BB6 FROM A 
    INNER JOIN (SELECT B1,B2,SUM(B5) BB5,SUM(B6) BB6 FROM B GROUP BY B1,B2) BB ON
    A.A1 = BB.B1
      

  2.   

    谢谢dinoalex
    但是
    SELECT A.A2, B.B2, B.B5, B.B6, B.B7 
    FROM A INNER JOIN
    (SELECT B1, B2, SUM(B5) AS B5, SUM(B6) AS B6, B7                            
    FROM  B AS BB WHERE (B7 = '2011-05')
    GROUP BY B1, B2, B7) AS B ON A.A1 = B.B1查询出来统发编号B2,发放月份B7 为“<不支持的数据类型>”