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]