Duplikaattien etsinnästä vielä

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..
1468
Äänestä

Muut lukivat myös

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));

Äänestä

Kommentoi aloitusta


pulassa kirjoitti:

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..

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu