Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tampilkan semua baris yang digandakan

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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh Konversi 'tanggal' ke 'datetimeoffset' di SQL Server (T-SQL)

  2. Memilih dari tabel di mana nama dilewatkan sebagai variabel

  3. Pernyataan Datetime ANTARA tidak berfungsi di SQL Server

  4. Apa itu @@SERVICENAME di SQL Server?

  5. INNER JOIN Dimana Klausul