Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Anke_71 am Juni 21, 2019, 15:14:13

Titel: Duplikate suchen - ein Feld soll identisch sein und ein Feld NICHT
Beitrag von: Anke_71 am Juni 21, 2019, 15:14:13
Hallo, ich hänge an einer Abfrage fest, es geht irgendwie mit Inner Join aber ich bekomme es nicht hin. Beispieltabelle (tbl):

tbl
ID Str
1 Musterstr.
1 Musterstr.
2 abcstrasse
3 abcstrasse

--> ich brauche eine query, die mir Datensätze mit gleicher Str aber ungleicher ID ausgibt. Im obigen Fall müssten dann Zeilen 3 und 4 zurückgegeben werden. Zeilen 1 und 2 dürften nicht zurückgegeben werden.

Kann jemand mit der SQL Formulierung helfen?
im Voraus herzlichen Dank
Titel: Re: Duplikate suchen - ein Feld soll identisch sein und ein Feld NICHT
Beitrag von: Josef P. am Juni 21, 2019, 16:27:59
Hallo!

Prinzip:
select distinct
   A.*
from
   tbl as A
   inner join
   tbl as B
   ON B.str = A.Str and B.ID <> A.ID

(Anm.: "distinct" damit DS nicht mehrfach ausgegeben werden, falls mehr als 2 DS mit gleichem Str-Wert vorhanden sind.)

oder

select
   A.*
from
   tbl as A
where
   exists (select * from tbl as B where B.str = A.Str and B.ID <> A.ID)


mfg
Josef
Titel: Re: Duplikate suchen - ein Feld soll identisch sein und ein Feld NICHT
Beitrag von: Anke_71 am Juni 23, 2019, 14:32:37
Hat hervorragend geklappt, vielen herzlichen Danke!!!!