carroll: SQL JOIN auf selbe Tabelle

Beitrag lesen

Hallo,

ich habe hier eine Tabelle (Addressdaten ca. 6000 Einträge), die ich gern etwas filtern will, um Quasi-Dopplungen herauszufinden. Es gibt also ab und zu mehrere Einträge zu einer Firma (COMPANY1) mit z.b. verschiedenen Adressen (hier mal die Straße STREET0 als Beispiel).

Ich möchte also in meiner Abfrage alle Datensätze angezeigt bekommen, bei denen der Firmenname schonmal vorkam, aber eine andere Straße vorhanden ist.

Das soweit meine Abfrage:

SELECT DISTINCT ADDRESSES.* FROM ADDRESSES LEFT OUTER JOIN ADDRESSES AS ADDRESSES_1 ON ADDRESSES.COMPANY1 = ADDRESSES_1.COMPANY1 WHERE ADDRESSES.STREET0 <> ADDRESSES_1.STREET0

Ohne DISTINCT erhält man über 8000 Ergebnisse, was natürlich wenig Sinn macht, aber mir einleuchtet - schließlich wird Die Tabelle auf sich selbst abgebildet.
Mit DISTINCT sind es nur noch gut 1200 Ergebnisse, sieht also schon recht gut aus.

Meine Frage an jemand, der etwas mehr Einsicht in SQL hat: macht das Sinn? Irgendwie ist mir bei DISTINCT etwas unwohl, aber ich sehe keinen anderen Weg die ganzen normalen Einträge rauszufiltern.