sql >> Database >  >> RDS >> Sqlserver

Alle dubbele rijen weergeven

U heeft uw dubbele records gevonden, maar u wilt alle informatie eraan koppelen. Je moet join uw duplicaten naar uw hoofdtabel om die informatie te krijgen.

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

Dit is hetzelfde als een inner join en betekent dat voor elke record in uw subquery, die de dubbele records heeft gevonden, u alles uit uw hoofdtabel vindt met dezelfde eerst geziene en laatst geziene combinatie.

Je kunt dit ook doen met in, hoewel je het verschil moet testen :

select *
  from my_table a
 where ( firstname, lastname ) in   
       ( select firstname, lastname 
           from my_table 
          group by firstname, lastname 
         having count(*) > 1 )

Verder lezen:



  1. ORA-12516, TNS:luisteraar kon geen beschikbare handler vinden

  2. Django-migraties Geen wijzigingen gedetecteerd in app

  3. room error:de kolommen die door de query worden geretourneerd, hebben niet de velden fieldname

  4. Hoe kan ik (hoofdletterongevoelig) in een kolom zoeken met LIKE-wildcard?