Hi,

Usahakan jangan memakai in clause. In clause hanya memperlambat query jika 
datanya cukup besar. Coba gunakan where exist clause.

Berikut mungkin bisa membantu :

select a.col1,a.col2,a.col3 
 from tableA a
where exists(select col1,col2,col3,count(*) from tableA b
              where b.col1=a.col1
                and b.col2=a.col2
                and b.col3=a.col3
             group by col1,col2,col3
             having count(*)>1)  
order by a.col1,a.col2,a.col3      

Terima Kasih

OraFind.com

--- Indra Ocktavin Tomi Wijanto" <[EMAIL PROTECTED]> wrote:

Coba pakai analytic query utk menghindari pemakaian
subquery. Misalnya:

select col1,col2,col3,col4,col5 from
(
select 
  col1,col2,col3,col4,col5,
  count(1) over (partition by col3,col4,col5)
dup_count
from tabelA
)
where dup_count > 1

Kalau ada syntax error di 9i, coba ganti:
  (partition by col3,col4,col5)
menjadi
  (partition by col3,col4,col5 order by
col3,col4,col5)

regards,
tomi

--- Indra Ocktavin <[EMAIL PROTECTED]> wrote:

> Hai semua,
> saya baru dapat tugas dari senior nih, bagaimana
> caranya menampilkan duplicate row sekaligus
> kembarannya untuk kemudian data yg akan dihapus akan
> diseleksi secara manual.
> Sebelumnya saya sudah sempat nyobain dan bisa,tp
> dengan pembatas rownum karena datanya ckp bsr. Cuma
> query baru bisa tampil stlh 15mnt. Gak efisien. Ada
> yg bs bantu gak dengan cr yg lbh cepat. Berikut
> ilustrasi query yg saya coba di oracle 9g:
> select col1,col2,col3,col4,col5 from tabelA where
> (col3,col4,col5) in (select col3,col4,col5 from
> tabelA group by col3,col4,col5 having count(*)>1;
> Mgk kalo pake view ditambah trigger mgk lebih
> efektif,tp saya blm tau caranya. Maklum pemula
> boz,baru 1 blnan ini megang oracle.
> Para senior Indo-Oracle,mohon pencerahannya ya..
> Terima kasih
--- Indra Ocktavin Tomi Wijanto" <[EMAIL PROTECTED]> wrote:

Coba pakai analytic query utk menghindari pemakaian
subquery. Misalnya:

select col1,col2,col3,col4,col5 from
(
select 
  col1,col2,col3,col4,col5,
  count(1) over (partition by col3,col4,col5)
dup_count
from tabelA
)
where dup_count > 1

Kalau ada syntax error di 9i, coba ganti:
  (partition by col3,col4,col5)
menjadi
  (partition by col3,col4,col5 order by
col3,col4,col5)

regards,
tomi

--- Indra Ocktavin <[EMAIL PROTECTED]> wrote:

> Hai semua,
> saya baru dapat tugas dari senior nih, bagaimana
> caranya menampilkan duplicate row sekaligus
> kembarannya untuk kemudian data yg akan dihapus akan
> diseleksi secara manual.
> Sebelumnya saya sudah sempat nyobain dan bisa,tp
> dengan pembatas rownum karena datanya ckp bsr. Cuma
> query baru bisa tampil stlh 15mnt. Gak efisien. Ada
> yg bs bantu gak dengan cr yg lbh cepat. Berikut
> ilustrasi query yg saya coba di oracle 9g:
> select col1,col2,col3,col4,col5 from tabelA where
> (col3,col4,col5) in (select col3,col4,col5 from
> tabelA group by col3,col4,col5 having count(*)>1;
> Mgk kalo pake view ditambah trigger mgk lebih
> efektif,tp saya blm tau caranya. Maklum pemula
> boz,baru 1 blnan ini megang oracle.
> Para senior Indo-Oracle,mohon pencerahannya ya..
> Terima kasih


       
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile.  Try it now.

[Non-text portions of this message have been removed]

Kirim email ke