select sum(decode(a1,'张三',1,0)I as 张三,
       sum(decode(a1,'李四,1,0)I as 李四
  from aa;
但是如果有很多王五、李六就要自动生成一个sql语句了

解决方案 »

  1.   

    不能进行查询啊!显示如下:
    ERROR at line 1:
    ORA-00907: missing right parenthesis
      

  2.   

    上面那句sum(decode(a1,'张三',1,0)右边少了一个括号,
      

  3.   

    用case when 比较好,通用,decode是oracle自己的函数吧
    select sum(case when a1='张三' then 1 else 0 end ) as 张三,
           sum(case when a1='李四' then 1 else 0 end ) as 李四
      from aa;
      

  4.   

    不就是竖表变横表,CASE WHEN通用一些,上面这位的语句就差不多了