Announcement

Collapse
No announcement yet.

Nur doppelte bzw. mehrfache Datensätze anzeigen

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

  • Nur doppelte bzw. mehrfache Datensätze anzeigen

    Hallo zusammen..

    ich habe bei meiner SQL-Abfrage ein Problem:

    Meine Tabelle "Meldungen" ist wie folgt aufgebaut:

    Tabelle "Meldungen"

    Meldung Art
    ------------|-------------
    Meldung1 | Alarm
    Meldung1 | Warnung
    Meldung2 | Alarm
    Meldung2 | Alarm
    .. | ..
    .. | ..


    Ich möchte mit einer SQL-Abfrage nur gleiche Reihen anzeigen (select ..),
    also die ersten beiden Zeilen rausfiltern, da sich in der Art unterscheiden.


    So dass der Select-Befehl nur noch folgendes anzeigt:

    Meldung Art
    ------------|-------------
    Meldung2 | Alarm
    Meldung2 | Alarm
    .. | ..

    Mit "distinct" und "where Meldung (not) in (SUBQUERY)" hab ichs schon versucht, allerdings ohne Erfolg.
    Kann mir hier jemend weiterhelfen?

  • #2
    Originally posted by OldMcDonald View Post
    Hallo zusammen..

    ich habe bei meiner SQL-Abfrage ein Problem:

    Meine Tabelle "Meldungen" ist wie folgt aufgebaut:

    Tabelle "Meldungen"

    Meldung Art
    ------------|-------------
    Meldung1 | Alarm
    Meldung1 | Warnung
    Meldung2 | Alarm
    Meldung2 | Alarm
    .. | ..
    .. | ..


    Ich möchte mit einer SQL-Abfrage nur gleiche Reihen anzeigen (select ..),
    also die ersten beiden Zeilen rausfiltern, da sich in der Art unterscheiden.


    So dass der Select-Befehl nur noch folgendes anzeigt:

    Meldung Art
    ------------|-------------
    Meldung2 | Alarm
    Meldung2 | Alarm
    .. | ..

    Mit "distinct" und "where Meldung (not) in (SUBQUERY)" hab ichs schon versucht, allerdings ohne Erfolg.
    Kann mir hier jemend weiterhelfen?

    Vielleicht so:
    [HIGHLIGHT="sql"]
    SELECT X.Meldung, x.Art
    FROM
    (SELECT COUNT (*), Meldung, Art
    FROM Tabelle
    GROUP BY Meldung, Art
    HAVING Count (*) > 1 ) AS X
    [/HIGHLIGHT]

    Comment


    • #3
      Vielen Dank.

      ich hab die obige Subquery mit einem "inner join" kombieniert ,dann hats funktioniert:

      select I.Meldung, I.Art from Meldungen as I
      inner join
      (select J.Meldung from Meldungen as J
      group by J.Meldung, J.Art having count(*) > 1) as X
      on I.Meldung = X.Meldung


      Gruß

      Comment

      Working...
      X