Announcement

Collapse
No announcement yet.

Doppelter Datensatz

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Doppelter Datensatz

    Kann mir jemand erklären wie ich einen dopplten Datensatz auslesen kann. In der DB "test" habe ich eine Tabelle mit dem Namen "user". Dort ist ein Feld mit dem Namen "email". Nun brauche ich eine Anweisung, welche mir alle doppelte E-Mailadressen ausgibt. Kann mir da jemand helfen?

  • #2
    Probiers mal damit

    Select email from user group by Email having count(*)>1

    Gruß Jör

    Comment


    • #3
      Genial!! Danke für die schnelle Hilfe

      Comment


      • #4
        Hallo Jörg, gibts dafür auch eine Lösung wenn noch weitere Spaltennamen wie Name, Vorname,.. mitverglichen werden sollen

        Comment


        • #5
          Hallo Manfred,

          ich bin zwar nicht Jörg ...

          Du gibst einfach alle Spalten, die zusammen das Kriterium bilden in der GROUP BY Klausel an:

          Select name, vname, email from user group by name, vname, Email having count(*)>1

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Hallo Falk :-)),
            funktioniert wunderbar, gibts auch Möglichkeiten nur die doppelten Datensätze zu löschen

            Comment


            • #7
              Hallo Manfred,

              natürlich gibts da Möglichkeiten! Wenn auf der Tabelle ein Primärschlüssel liegt, dann wird die Sache um einiges vereinfacht.

              DELETE FROM ATable A
              WHERE A.Key IN (
              SELECT B.Key FROM ATable B, ATable C
              WHERE B.Feld1 = C.Feld1 and B.Feld2 = C.Feld2 ...
              AND B.Key < C.Key)

              Hierbei werden alle mehrfach vorkommenden Datensätze gelöscht, außer der mit dem größten Primärschlüssel.

              Gibt es keinen PK, so kannst du u.U. eine von der DB bereitgestellte Datensatzkennung verwenden (bei ORACLE z.B. die ROWID). Geht auch das nicht, dann hast du fast keine Chance die "doppelten" in einem Rutsch zu löschen - außer du löschst sie ALLE

              Gruß Falk

              P.S.: Unter Ausschluß jeglicher Gewährleistung für evtl. fehlerhaft gelöschte Datensätze ;
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment

              Working...
              X