Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Duplikate suchen - ein Feld soll identisch sein und ein Feld NICHT

Begonnen von Anke_71, Juni 21, 2019, 15:14:13

⏪ vorheriges - nächstes ⏩

Anke_71

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

Josef P.

#1
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

Anke_71