Anda telah menemukan catatan duplikat Anda, tetapi Anda tertarik untuk mendapatkan semua informasi yang dilampirkan padanya. Anda harus join
duplikat Anda ke tabel utama Anda untuk mendapatkan informasi tersebut.
select *
from my_table a
join ( select firstname, lastname
from my_table
group by firstname, lastname
having count(*) > 1 ) b
on a.firstname = b.firstname
and a.lastname = b.lastname
Ini sama dengan inner join
dan berarti bahwa untuk setiap record di sub-kueri Anda, yang menemukan record duplikat, Anda menemukan semuanya dari tabel utama Anda yang memiliki kombinasi pertama dan terakhir yang sama.
Anda juga dapat melakukannya dengan meskipun Anda harus menguji perbedaannya :
select *
from my_table a
where ( firstname, lastname ) in
( select firstname, lastname
from my_table
group by firstname, lastname
having count(*) > 1 )
Bacaan Lebih Lanjut:
- Representasi visual dari bergabung dari Coding Horror
- Bergabung dengan penjelasan dari Wikipedia