Announcement

Collapse
No announcement yet.

doppelte einträge löschen

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

  • doppelte einträge löschen

    hallo zusammen,

    ich habe folgendes Problem:

    die Daten in der Datenbank schauen ca so aus:

    NR Name Code
    ------------------------
    111 Kuchen DE
    111 Kuchen AT
    111 Obst OP
    122 Stein OP
    132 Kuchen AT
    132 Glas OP

    Wie ihr in den Zeilen 1 und 2 seht, sind die Einträge bis auf den Code identisch.
    Es kommt vor dass Nr und Name gleich sind, sich aber nur im Code unterscheiden.
    Als Code stehen 3 Werte zur verfügung: DE, AT und OP
    Die Doppelten kommen nur bei DE und AT vor, nie bei OP. OP Einträge sind immer eindeutig!

    So jetzt das Problem: Bei den Doppelten sollen die Zeilen wo AT als Code steht, gelöscht werden.
    Bei Beispiel oben sollte nur die erste Zeile selektioert werden, die zweite soll übersprungen werden

    Ich habe es geschafft NUR die Doppelten zu selektieren und zu bereinigen. Jetzt bräuchte ich irgendwie noch den rest und dann könnte ich diese 2 selections zusammenbringen.
    Hier was ich schon habe:
    Code:
    select Nr, Name, 'DE'
    from (
        select  Nr
         ,Name
          ,Code
      	from Alle_Stuecke
     	where Code <> '--' and (Code = 'DE' or Code='AT')
     	group by 1,2,3
       ) as temp
    group by 1,2
    having count(*) > 1
    Ich hoffe es kann mir jemand einen tipp geben.
Working...
X