Announcement

Collapse
No announcement yet.

SQL-Experten gesucht

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

  • SQL-Experten gesucht

    Hallo liebe Leute,

    ich brauche Eure Hilfe!

    Ich habe eine Tabelle Person mit 4 Attributen: Name, Vorname, Geburtsdatum und Geburtsort.
    Ich brauche eine SQL-Abfrage, die aus Tabelle Datensätze mit Namensvetter ( Name + Vorname ) löscht, aber lässt nur den jüngsten bleiben z.B.

    Schmidt | Markus | 1960 | Hamburg ;<br>
    Mustermann | Dieter | 1970 | Berlin;<br>
    Mustermann | Dieter | 1980 | München;<br>

    Ergebnis

    Schmidt | Markus | 1960 | Hamburg;<br>
    Mustermann | Dieter | 1980 | München;<br>

    Ich bedanke mich im Voraus für Eure Muhe
    Gruß
    Tanja

  • #2
    create table X
    ( Name varchar2(20)
    , Vorname varchar2(20)
    , Geburtsdatum varchar2(20)
    , Geburtsort varchar2(20));
    insert into X values ('Schmidt','Markus','1960','Hamburg');
    insert into X values ('Mustermann','Dieter','1970','Berlin');
    insert into X values ('Mustermann','Dieter','1980','München');
    select * from X;

    delete from (
    select * from x
    where (Name, Vorname) in (
    select Name, Vorname from x group by Name, Vorname having count(*) > 1))
    where GEBURTSDATUM <
    (select max(GEBURTSDATUM) from x
    where (Name, Vorname) in (
    select Name, Vorname from x group by Name, Vorname having count(*) > 1));
    commit

    Comment

    Working...
    X