Kiitos avusta! Olen kuitenkin vielä vähän pulassa.
select s.salitunnus, count(distinct s.salitunnus) as kpl
from sali s join sali a on s.postinro=a.postinro
group by s.postinro
having kpl>1;
Tällä saan kaksi tulosriviä:
sali2 3
sali5 2
Tiedän siis, että on kaksi muutakin salia, jolla on sama postinro kuin salilla 2 ja jollain toisella on sama postinro kuin salilla 5.
Nämä saan toki kyselyllä:
select salitunnus, postinro
from sali
where postinro in
(select postinro
from sali
where salitunnus='sali2' or salitunnus='sali5');
Tulokseksi saan tiedot 5 salista, joilla on sama postinumero kuin jollain toisella salilla.
Tämän pystyy varmaan tekemään jotenkin yhdellä kyselyllä, en vain osaa.. Enkä kyllä uskalla vielä ajatellakaan todellisten duplikaattien etsimistä, saisi nyt edes tuon yhden tiedon osalta toimimaan ensin..
select s.salitunnus, count(distinct s.salitunnus) as kpl
from sali s join sali a on s.postinro=a.postinro
group by s.postinro
having kpl>1;
Tällä saan kaksi tulosriviä:
sali2 3
sali5 2
Tiedän siis, että on kaksi muutakin salia, jolla on sama postinro kuin salilla 2 ja jollain toisella on sama postinro kuin salilla 5.
Nämä saan toki kyselyllä:
select salitunnus, postinro
from sali
where postinro in
(select postinro
from sali
where salitunnus='sali2' or salitunnus='sali5');
Tulokseksi saan tiedot 5 salista, joilla on sama postinumero kuin jollain toisella salilla.
Tämän pystyy varmaan tekemään jotenkin yhdellä kyselyllä, en vain osaa.. Enkä kyllä uskalla vielä ajatellakaan todellisten duplikaattien etsimistä, saisi nyt edes tuon yhden tiedon osalta toimimaan ensin..
Vastaukset 1
Vanhimmat
Helppoja juttuja olivatkin, alikyselyitähän tuo vaati ja duplikaatit kaikkien tietojen osalta meni ihan vaan naputtelemalla nuo muutkin tiedot kyselyyn.. Asia hoidossa siis.
select *
from sali
where (paikkojen_lkm, katuosoite, postinro, postitmp) in
(select paikkojen_lkm, katuosoite, postinro, postitmp
from sali
where salitunnus in
(select s.salitunnus
from sali s join sali a on s.paikkojen_lkm=a.paikkojen_lkm and s.katuosoite=a.katuosoite and s.postinro=a.postinro and s.postitmp=a.postitmp
group by s.paikkojen_lkm, s.katuosoite, s.postinro, s.postitmp
having count(s.paikkojen_lkm)>1 and count(s.katuosoite)>1 and count(s.postinro)>1 and count(s.postitmp)>1));