select xh,xm,(select xh,count(kcm) from cjb group by xh) from xsb;
 老是报错Operand should contain 1 column(s)  这个什么意思啊?

解决方案 »

  1.   

    select xh,xm,(select xh,count(kcm) from cjb group by xh) from xsb;红色部分在外边表示一列,而在子查询里出现了两列!
      

  2.   

    select xh,xm,(select count(kcm) from cjb where xh = t.xh) from xsb t;试试!
      

  3.   

    select xh,xm,(select count(kcm) from cjb where xh = t.xh) from xsb t;红色括号部分就是一列了,如果想是两列,必须得两个子查询,一个子查询是实现不了的,或者可以把子查询作为from后边的表来选取需要的列!
      

  4.   

     那个t.xh 和from xsb t 加个t是什么意思?
      

  5.   

    from xsb t  相当于  from xsb as t  对表xsb起别名子查询里面的 t.xh 说明子查询的表cjb里的xh字段和外表的xh字段相同,也就可以查出xsb表里每个xh在表cjb出现的次数了。
      

  6.   

    select xh,xm,(select xh,avg(cj) from cjb where xh=a.xh group by xh) from xsb a;
    加个group by好想没效了