本帖最后由 u012903926 于 2014-05-12 18:47:19 编辑

解决方案 »

  1.   

    with w as
    (select '101' c_kind_no , '机动车辆保险-车损险' c_nme_cn from dual 
      union all
     select '107' c_kind_no , '机动车辆保险' c_nme_cn from dual    
      union all
     select '201' c_kind_no , '车辆保险-车损险' c_nme_cn from dual 
     union all
     select '201' c_kind_no , '车辆保险-盗抢险' c_nme_cn from dual 
      union all
     select '301' c_kind_no , '摩托车商业险-车损险' c_nme_cn from dual 
       union all
     select '301' c_kind_no , '摩托车商业险-盗抢险' c_nme_cn from dual 
     
       )
    select * from w;
      

  2.   

    with w as
    (select '101' c_kind_no , '机动车辆保险-车损险' c_nme_cn from dual 
      union all
     select '107' c_kind_no , '机动车辆保险' c_nme_cn from dual    
      union all
     select '201' c_kind_no , '车辆保险-车损险' c_nme_cn from dual 
     union all
     select '201' c_kind_no , '车辆保险-盗抢险' c_nme_cn from dual 
      union all
     select '301' c_kind_no , '摩托车商业险-车损险' c_nme_cn from dual 
       union all
     select '301' c_kind_no , '摩托车商业险-盗抢险' c_nme_cn from dual 
     
       )
    select * from w;
      

  3.   

    create table test(c_kind_no varchar2(20),c_nme_cn varchar2(20));
    insert into test values('101','机动车辆保险-车损险');
    insert into test values('107','机动车辆保险');
    insert into test values('201','车辆保险-车损险');
    insert into test values('201','车辆保险-车抢险');
    insert into test values('301','摩托车商业险-车损险');
    insert into test values('301','摩托车商业险-盗抢险');
    commit;
    select * from test where rowid  in (select min(rowid) from test group by c_kind_no)