--- try:select [value],AVG(weight) 
from
(select B.[id] ,B.[value] , A.weight
from B,A where B.[id] = A.[id] and B.[property] = '班级') as T
group by [value]

解决方案 »

  1.   

    select [value],AVG(weight) 
    from
    (select distinct B.[id] ,B.[value] , A.weight
    from B,A where B.[id] = A.[id] and B.[property] = '班级') as T
    group by [value]
      

  2.   

    select B.value as 班级, AVG(A.weight) from A left join B
     on A.id = B.id where B.property = '班级'
    group by B.value
      

  3.   

    A表:  
    id        name   weight
    1          小陈   52
    2          小王   58
    1          小刘   53
    1          小X    51
    ...
     
    B表:  
    id        property    value  
    1         班级        A
    1          年龄     22
    2          班级        B
    2          年龄        25
    1         班级        A
    1          年龄     21
    1         班级        A
    1          年龄     21
    ....不可能同班的不许同岁吧??
      

  4.   

    从执行效率上看,tj_dns(愉快的登山者) 比 hjhing(winding) 的快,但我还是守一守信用,分数只加给hjhing(winding) ,顺便问一下,有什么比较好的书可以提高写SQL的能力?
      

  5.   

    CCEO(): 你说上面两位都是错的,但我测试出来是对的。
    那你有没有更好的解呢?
      

  6.   

    那说明你的测试数据不够你把数据改成:A表:  
    id        name   weight
    1          小陈   52
    2          小王   58
    1          小刘   52
     
    B表:  
    id        property    value  
    1         班级        A
    1          年龄     22
    2          班级        B
    2          年龄        25
    1         班级        A
    1          年龄     21
    就三个人,你应该允许“小陈”和“小刘”一样重吧?!
      

  7.   

    哦,以上数据还是不够,A表:  
    id        name   weight
    1          小陈   52
    2          小王   58
    1          小刘   52
    1          小X    49
     
    B表:  
    id        property    value  
    1         班级        A
    1          年龄     22
    2          班级        B
    2          年龄        25
    1         班级        A
    1          年龄     21
    1         班级        A
    1          年龄     23
      

  8.   

    我忘了说明,B表的id和property是复合键,不允许重复。
      

  9.   

    turbochen 真乃信人
    小弟在此多謝了!
      

  10.   

    B表的id和property是复合键,不允许重复。
    ??你的数据就是有重复的。闪人了!