Steffen Trenkler: SQL unter Oracle: Doppelte Einträge in einer Spalte finden

Hi,

folgendes Problem:

Man stelle sich eine Tabelle namens "TAB" vor. Diese hat 3 Spalten:

"ID" - Primärschlüssel "NN" - Nachname "VN" - Vorname

Nun das Beispiel:

ID   NN      VN
--------------------
01   MEYER   Klaus
02   MEYER   EGON

Wie kann ich jetzt per SQL alle diejenigen Einträge dieser Tabelle finden, die innerhalb einer Spalte doppelt oder mehrfach vorkommen, ohne, dass ich den String "MEYER" angeben muß? Zu deutsch: Welche Einträge kommen wie oft mehrfach vor?

Hatte da schon mal was in der Richtung:

SELECT A.NN, B.NN
FROM TAB A, TAB B
WHERE A.NN = B.NN;

Aber da rennt Oracle immer in eine Endlosschleife rein.

need help

  1. Hallo,

    such mal in der Doku nach
    'group by' und 'having'

    Gruss
    o4

  2. Hallo Steffen,

    SELECT A.NN, B.NN

    versuchs mal mit SELECT DISTINCT A.NN, DISTINCT B.NN FROM TAB A, TAB B

    FROM TAB A, TAB B
    WHERE A.NN = B.NN;

    wo kommt eigentlich auf einmal die zweite Tabelle her?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. Hi Steffen,

    SELECT A.NN, B.NN
    FROM TAB A, TAB B
    WHERE A.NN = B.NN;
    Aber da rennt Oracle immer in eine Endlosschleife rein.

    keineswegs. Nur in eine fürchterlich aufwändige Operation, diese (wahrscheinlich nicht gerade kleine) Tabelle mit sich selbst zu JOINen.

    Die Methode mit "GROUP BY" und "HAVING" ist im Vergleich hierzu wesentlich sinnvoller - vor allem dann, wenn Deine Einträge jeweils im Schnitt eher selten vorkommen.

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.