Našli jste své duplicitní záznamy, ale chcete k nim připojit všechny informace. Musíte se join
vaše duplikáty do hlavní tabulky, abyste získali tyto informace.
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
Je to stejné jako inner join
a znamená, že pro každý záznam ve vašem dílčím dotazu, který našel duplicitní záznamy, najdete vše z vaší hlavní tabulky, které má stejnou kombinaci firstseen a lastseen.
Můžete to udělat také pomocí in, ačkoli byste měli vyzkoušet rozdíl :
select *
from my_table a
where ( firstname, lastname ) in
( select firstname, lastname
from my_table
group by firstname, lastname
having count(*) > 1 )
Další čtení:
- Vizuální reprezentace se připojí z Coding Horror
- Připojit se k vysvětlení z Wikipedie