in the query below how to surpress last six rows(they are duplicate)?
drop table tbl_emp;
create table tbl_emp(
emp_no varchar2(20),
emp_name varchar2(20),
ref_emp_no varchar2(20)
);
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('677','cho','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('685','mun','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('812','bai','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('24','lee','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('25','ki','493');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('26','kim','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('27','cho','506');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('28','kang','430');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('29','kim','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('30','park','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('31','park','420');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('420','kim','812');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('430','kang','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('493','mun','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('506','um','');
select level,emp_no,LPAD(' ', LEVEL * 3) ||emp_name,ref_emp_no from tbl_emp
connect by prior ref_emp_no = emp_no;
this gives
1 1 24 lee
2 1 25 ki 493
3 2 493 mun
4 1 26 kim
5 1 27 cho 506
6 2 506 um
7 1 28 kang 430
8 2 430 kang
9 1 29 kim
10 1 30 park
11 1 31 park 420
12 2 420 kim 812
13 3 812 bai
14 1 420 kim 812
15 2 812 bai
want to delete below rows
16 1 430 kang
17 1 493 mun
18 1 506 um
19 1 677 cho
20 1 685 mun
21 1 812 bai
Thanks.
drop table tbl_emp;
create table tbl_emp(
emp_no varchar2(20),
emp_name varchar2(20),
ref_emp_no varchar2(20)
);
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('677','cho','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('685','mun','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('812','bai','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('24','lee','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('25','ki','493');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('26','kim','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('27','cho','506');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('28','kang','430');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('29','kim','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('30','park','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('31','park','420');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('420','kim','812');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('430','kang','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('493','mun','');
insert into tbl_emp(emp_no,emp_name,ref_emp_no) values('506','um','');
select level,emp_no,LPAD(' ', LEVEL * 3) ||emp_name,ref_emp_no from tbl_emp
connect by prior ref_emp_no = emp_no;
this gives
1 1 24 lee
2 1 25 ki 493
3 2 493 mun
4 1 26 kim
5 1 27 cho 506
6 2 506 um
7 1 28 kang 430
8 2 430 kang
9 1 29 kim
10 1 30 park
11 1 31 park 420
12 2 420 kim 812
13 3 812 bai
14 1 420 kim 812
15 2 812 bai
want to delete below rows
16 1 430 kang
17 1 493 mun
18 1 506 um
19 1 677 cho
20 1 685 mun
21 1 812 bai
Thanks.