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:
- Een visuele weergave van doet mee van Horror coderen
- Deelnemen uitleg van Wikipedia