本帖最后由 dctg2003 于 2010-07-27 15:54:52 编辑

解决方案 »

  1.   

    简单来说就是dual表与 带GROUP BY 的表union
      

  2.   


    select 'da01' da01, 'da02' da02, 'da03' da03
      from dual
    union
    select t1.jy da01,
           t1.jq da02,
           count(distinct decode(t1.js, 'Z', t1.jd, null)) da03
      from vw t1
     GROUP BY t1.jy, t1.jq
      

  3.   

    查询模块有不正确的结果数列。dual表要全是空的。。
      

  4.   

    SQL> 
    SQL> select 'da01' da01, 'da02' da02, 'da03' da03
      2    from dual
      3  union
      4  select t1.jy da01,
      5         t1.jq da02,
      6        to_char(count(distinct decode(t1.js, 'Z', t1.jd, null))) da03
      7    from vw t1
      8   GROUP BY t1.jy, t1.jq
      9  ;
     
    DA01       DA02       DA03
    ---------- ---------- ----------------------------------------
    da01       da02       da03
     
    SQL> 
      

  5.   

    union 
    union all 数据类型应该一致吧楼主 
    select t1.jy da01,
      t1.jq da02,
      count(distinct decode(t1.js,'Z',t1.jd,null) ) da03
      from vw t1
      GROUP BY t1.jy, t1.jq
    与 select dual union 时须匹配,类似与3楼