Sarene Geschrieben 27. August 2012 Teilen Geschrieben 27. August 2012 (bearbeitet) Hallo, ich würde gerne doppelte Einträge einer Gruppierung finden: SELECT gruppeID, mitgliedID FROM tabelleX GROUP BY gruppeID ,mitgliedID Als Ausgabe habe ich: gruppe| mitgliedID 1 | a 1 | a 1 | b 1 | c 2 | d 2 | e Wie komme ich nun an die doppelten Datensätze der gruppe 1? (also in diesem Fall "Mitglied A"... ich weiß aber nicht dass Mitglied A doppelt ist, deswegen kann ich nicht einfach mit WHERE mitgliedID='a' filtern) ? Ich steh grad auf dem Schlauch! Vielen Dank für eure Hilfe Sarene Bearbeitet 27. August 2012 von Sarene Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 27. August 2012 Teilen Geschrieben 27. August 2012 DISTINCT sollte dir helfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sarene Geschrieben 27. August 2012 Autor Teilen Geschrieben 27. August 2012 hmmm..ich will aber eigentlich die doppelten Datensätze angezeigt bekommen und nicht "herausfiltern" und nur einzeln anzeigen. Also im Prinzip möchte ich folgendes Ergebnis haben: 1 | a 1 | a und nicht 1 | a 1 | b 1 | c 2 | d 2 | e Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sarene Geschrieben 27. August 2012 Autor Teilen Geschrieben 27. August 2012 (bearbeitet) vielleicht sollte ich noch dazu sagen, dass die MitgliedID auch in anderen GruppenIDs vorkommen kann? das Statement SELECT gruppeID, mitgliedID FROM tabelleX GROUP BY gruppeID ,mitgliedID Having Count(mitgliedID ) > 1 liefert mir nämlich nicht das gewünschte Ergebnis Oder anders gefragt, wie finde ich heraus, ob Spalte A und Spalte B in einer Tabelle immer das gleiche Ergebnis erzeugen? Ich habe nämlich auf diese 2 Spalten eigentlich einen "zusammengesetzten" Primärschlüssel. Leider habe ich zu Beginn keinen PK gesetzt und nun habe ich trotzdem doppelte Einträge ( Spalte A und Spalte B sind 2x vorhanden) . Diese Datensätze versuche ich nun zu finden. Bearbeitet 27. August 2012 von Sarene Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sarene Geschrieben 27. August 2012 Autor Teilen Geschrieben 27. August 2012 oh man, sobald ich anfange mein Problem zu beschreiben, komme ich immer selbst auf die Lösung: SELECT gruppeID, mitgliedID FROM tabelleX WHERE (SELECT COUNT(*) FROM tabelleX as tabelleY WHERE tabelleX.gruppeID= tabelleY.gruppeID AND tabelleX.mitgliedID = tabelleY.mitgliedID ) > 1 Trotzdem danke für die Aufmerksamkeit Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mepp Geschrieben 28. August 2012 Teilen Geschrieben 28. August 2012 Ist nur eine Idee: Kannst du den UNIQUE Constraint nicht auch nachträglich hinzufügen? (Also spätestens nachdem du die Dubletten entfernt hast würde sich das ja anbieten.) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sarene Geschrieben 29. August 2012 Autor Teilen Geschrieben 29. August 2012 Ja, das habe ich schon gemacht. Vielen Dank für deinen Ratschlag :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.