我有三个表
teaminfo(表)
字段:
userid,memtotal,teamnameorguser(表)
字段:
userid,departmentidorgdepartment(表)
字段:departmentname,departmentid
产生报表:按部门统计活动(teamname)数
departmentname,count(teamname),memtotal,总金额总金额在表中没有字段,怎么写sql啊

解决方案 »

  1.   

    select b.departmentname,count(c.teamname),memtotal from orguser as a inner join teaminfo as c on a.userid=c.userid inner join orgdepartment as b on a.departmentid=b.departmentid group by b.departmentname,memtotal 
      

  2.   


    select b.departmentname,count(c.teamname),memtotal 
    from orguser as a inner join teaminfo as c on a.userid=c.userid inner join  orgdepartment as b on a.departmentid=b.departmentid group by b.departmentname,memtotal 
      

  3.   

    三表做连接,然后再count来统计建议你给点数据,这样的话更方便给出你要的结果
      

  4.   

    hncelfhv,你好按你的两条来运行,快成功了,返回的结果中部门有重复记录,用 count(distinct c.teamname)也是有生重复的
      

  5.   

    加一个distinct或者你提供点数据吧,方便测试
      

  6.   


    我自己写了一条
    select a.id,a.departmentname,(select count(distinct x.tname) from bo_teaminfo x join orguser y on y.userid=x.createuser where y.departmentid=a.id) as cnt from orgdepartment a 
    能够正常运行,但我我再加一个字段时就报错 说什么要加EXISTS
    select a.id,a.departmentname,(select count(distinct x.tname),x.memtotal from bo_teaminfo x join orguser y on y.userid=x.createuser where y.departmentid=a.id) from orgdepartment a