集团表:
集团编号:  group_id
集团名称:  gounp_name
集团经理编号:mgr_id集团成员通话表:
集团编号:group_id
号码:no
通话时间:phone_time集团成员资料表:
成员编号:e_id
号码:no
姓名:name问:
3 成员编号为’332536’的集团2008年10月的成员通话数量
4 集团编号为’17300’,2008年10月,除2008-10-3一天通话成员的姓名
5 集团编号为’17330’ 的,2006年6月每天通话数量

解决方案 »

  1.   

    3 成员编号为’332536’的集团2008年10月的成员通话数量
    select count(1) 通话数量
    from 集团成员资料表 t3 , 集团成员通话表 t2 , 集团表 t1
    where t3.e_id = '332536' and t3.no = t2.no and t2.group_id = t1.group_id and convert(varchar(7),t2.phone_time,120) = '2008-10'4 集团编号为’17300’,2008年10月,除2008-10-3一天通话成员的姓名
    select t3.*
    from 集团成员资料表 t3 , 集团成员通话表 t2 , 集团表 t1
    where t1.group_id = '17300' and t1.group_id = t2.group_id and t2.no = t3.no and convert(varchar(7),t2.phone_time,120) = '2008-10' and t2.phone_time <> '2008-10-03'5 集团编号为’17330’ 的,2006年6月每天通话数量
    select convert(varchar(10),t2.phone_time,120) , count(1) 
    from 集团成员通话表 t2 
    where t2.group_id = '17330' and convert(varchar(7),t2.phone_time,120) = '2008-06'
    group by convert(varchar(10),t2.phone_time,120)
      

  2.   


    3 成员编号为’332536’的集团2008年10月的成员通话数量
    select count(1) from 集团表 a 
    left join 集团成员通话表 b on a.group_id=b.group_id
    left join 集团成员资料表 c on b.no=c.no
    where c.e_id='332536' and convert(varchar(7),b.phone_time,120)='2008-10'4 集团编号为’17300’,2008年10月,除2008-10-3一天通话成员的姓名
    select distinct c.name from 集团表 a 
    left join 集团成员通话表 b on a.group_id=b.group_id
    left join 集团成员资料表 c on b.no=c.no
    where a.group_id='17300' and convert(varchar(7),b.phone_time,120)='2008-10'
    and convert(varchar(10),b.phone_time,120)<>'2008-10-03'5 集团编号为’17330’ 的,2006年6月每天通话数量
    select convert(varchar(10),b.phone_time,120),count(1) 
    from 集团表 a 
    left join 集团成员通话表 b on a.group_id=b.group_id
    left join 集团成员资料表 c on b.no=c.no
    where a.group_id='17300' and convert(varchar(7),b.phone_time,120)='2008-06'
    group by convert(varchar(10),b.phone_time,120)
      

  3.   

    谢谢问一下,集团成员通话表不是有group_id吗?为什么需要在集团编号中查呢?