表A: 
   字段:  关系     关系属性
          1         上评
          2         下平
          3         中平
表B
   字段:  评监人ID   受监人ID  关系 
          1          1         1     
          2          1         2
          3          2         3
表C
   字段:  评监人ID  分数
           1        30
           1        30
           1        30
           2        20
           2        10
要求找出受监人ID=1且关系属性为上评和下平的的平均分:
结果:
      字段:      关系属性   平均分
                 上评       30
                 下平       15

解决方案 »

  1.   

    select 
        a.关系属性,avg(c.分数) as 平均分
    from 
        表A a,表B b,表C c 
    where 
        a.关系=b.关系 and b.评监人ID=c.评监人ID and b.受监人ID=1 
    group by 
        a.关系属性
      

  2.   

    declare @t table(关系 int,关系属性 varchar(10))
    insert into @t select   1,'上评'
    union all select 2,'下平'
    union all select 3,'中平'declare @a table(评监人ID int,受监人ID int,关系 int)
    insert into @a select  1,1,1     
    union all select 2,1,2
    union all select 3,2,3declare @b table(评监人ID int,分数 int)
    insert into @b select   1,30
    union all select 1,30
    union all select 1,30
    union all select 2,20
    union all select 2,10
    select  a.关系属性,
            平均分=avg(c.分数)
    from @t a,@a b,@b c 
    where a.关系=b.关系 and b.评监人ID=c.评监人ID
    group by a.关系属性
      

  3.   


    select sum(分数)/count(评监人ID) 
    from c
    where 评监人ID=(select 评监人ID  from b where 受监人ID=1 and  (select count(distinct 关系属性) from a,b  where a.关系=b.关系) >0 )
      

  4.   

    --忘了个条件受监人ID=1
    declare @t table(关系 int,关系属性 varchar(10))
    insert into @t select   1,'上评'
    union all select 2,'下平'
    union all select 3,'中平'declare @a table(评监人ID int,受监人ID int,关系 int)
    insert into @a select  1,1,1     
    union all select 2,1,2
    union all select 3,2,3declare @b table(评监人ID int,分数 int)
    insert into @b select   1,30
    union all select 1,30
    union all select 1,30
    union all select 2,20
    union all select 2,10
    select  a.关系属性,
            平均分=avg(c.分数)
    from @t a,@a b,@b c 
    where a.关系=b.关系 and b.评监人ID=c.评监人ID and b.受监人ID=1
    group by a.关系属性