scireum research labs

information management made easy

Doppelte Datensätze in einer Tabelle mit SQL finden

Sonntag 16. März 2008 von mha

Oftmals bekommt man Daten unterschiedlichster Art in Tabellenform geliefert und möchte schnell prüfen, ob die Daten keine Duplikate beinhalten.
Gegeben sei eine Artikeltabelle products mit den Feldern:
supplier | supplier_aid | Description | usw. usw.
Sollte selbstverständlich über den Schlüssel supplier, supplier_aid (Lieferant und Werksnummer) eindeutig sein.
Dies prüft man mit folgendem Ausdruck:
SELECT supplier, supplier_aid from products GROUP BY supplier, supplier_aid HAVING count(supplier_aid) >1
WICHTIG! Man muß die Bedingung in die HAVING Klausel stecken und nicht in die WHERE Klausel, da diese vor dem Gruppieren greifen würde.

Ist das Resultset leer, sind alle Datensätze eindeutlig, ansonsten werden die Duplikate angezeigt.

Dieser Beitrag wurde erstellt am Sonntag 16. März 2008 um 22:04 und abgelegt unter Datenbanken, SQL, Stammdaten. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.

Ein Kommentar über “Doppelte Datensätze in einer Tabelle mit SQL finden”

  1. Hartmut schrieb:

    …. oder mit
    select DISTINCT supplier, supplier_aid from products
    Gruss Hartmut
    :-)

Kommentar schreiben