Announcement

Collapse
No announcement yet.

Doppelte Einträge speziell

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

  • Doppelte Einträge speziell

    Hallo!

    Habe folgendes Problem:

    Eine Tabelle speichert Personendaten inkl. einer Personen-ID. Wobei diese ID nicht als Schlüssel definiert ist! d.h. ein und dieselbe Person ist (und soll auch auf Grund der SW Struktur) mehrfach vorhanden! Primärschlüssel ist eine fortlaufende Zahl.
    Die ID dieser Person ist immer gleich! Nur kann es auf grund von Eingabefehlern vorkommen, dass es Unterschiede im z.b. Nachname der Person gibt.

    Nun möchte ich all jene Personen herausfiltern, welche dieselbe ID haben, jedoch unterschiede im z.B. Nachname.

    Das ganze sieht z.B. folgendermassen aus:

    ID,Nachname,Vorname,Geburtsdatum usw.

    A0001 Muster Mann 01.01.2000
    A0002 Muster Frau 01.10.1900
    A0001 Muster Man 01.01.2000
    A0003 Muster Kind 01.12.2005
    A0002 Muster Frau 01.10.1900


    Das Ergebnis sollte nun so aussehen:

    A0001 Muster Mann 01.01.2000
    A0001 Muster Man 01.01.2000

    Irgendwie bekomm ich das nicht auf die Reihe :-(


    Vielen Dank für Eure Hilfe!

  • #2
    Hallo,

    gesucht sind also die Einträge, zu denen in derselben Tabelle mindestens ein Eintrag mit gleicher ID und unterschiedlichem PK und unterschiedlichem Namen existiert.
    Un genauso kann man das in SQL formulieren:
    [highlight=sql]
    select ID, Nachname, Vorname, Geburtsdatum
    from tabelle tab1
    where exists (
    select 'X'
    from tabelle tab2
    where tab2.id = tab1.id
    and tab2.pk != tab1.pk
    and tab2.Nachname != tab1.Nachname
    )
    [/highlight]

    Gruß Falk
    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


    • #3
      SUPER Danke!! genau was ich gesucht habe.

      Frage was bedeutet in diesem Fall " Select 'X' " und ... " != " ??

      Hab ich so noch nie gesehen.

      Danke

      Comment


      • #4
        Originally posted by sqlad View Post
        ...was bedeutet in diesem Fall " Select 'X' " und ... " != " ??
        Bei einem Select der Form WHERE [NOT] EXISTS kommt es ja nicht darauf an, was in dem Subselect ausgewählt wird, sondern nur ob etwas ausgewählt wird. Manche schreiben da SELECT 1, SELECT irgendeinfeld, ... Bei mir ist es halt SELECT 'X'. (Dejavu)

        Und != heißt einfach "ungleich" und ist gleichbedeutend mit <>.

        Gruß Falk
        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


        • #5
          Danke für Deine raschen Antworten!

          gruss

          Comment

          Working...
          X