这里有两个表,一张表是人员信息表ryxx,里面有人员姓名xm、个人编号grbh、性别xm、参加工作时间cjgzsj等字段;
另一张表是活动记录表htjl,里面有活动类型、参加人员的个人编号grbh、参加活动的日期rj、每次参加活动的时间htsj,活动内容hdlr等字段。
要求:显示每个人的累计活动次数及累计活动时间。

解决方案 »

  1.   

    select a.grbh,b.xm count(a.grbh) as '活动次数',sum(b.htsj) as '累计活动时间'
    from htjl a join ryxx b on a.grbh=b.grbh
    group by a.grbh,b.xm 
      

  2.   

    select a.grbh,b.xm,count(a.grbh) as '活动次数',sum(b.htsj) as '累计活动时间'
    from htjl a join ryxx b on a.grbh=b.grbh
    group by a.grbh,b.xm 
      

  3.   


    select sum(case when b.grbh is null then 0 else 1 end) as  累计活动次数,sum(b.htsj) as 累计活动时间 
    from ryxx a left join htjl b on a.grbh = b.grbh 
    group by a.xm
      

  4.   


    select a.xm,
     sum(case when b.grbh is null then 0 else 1 end) as  累计活动次数,sum(b.htsj) as 累计活动时间 
    from ryxx a left join htjl b on a.grbh = b.grbh 
    group by a.xm
      

  5.   

    select a.grbh,b.xm,count(a.grbh) as '活动次数',sum(b.htsj) as '累计活动时间'
    from htjl a join ryxx b on a.grbh=b.grbh
    where b.xm='男'
    group by a.grbh,b.xm