Frage

Wenn mein Titel Kopf tut weh ... Ich bin bei dir. Ich will nicht in bekommen, warum diese Tabelle vorhanden ist, außer dass es Teil eines Altsystems ist das System auch funktioniert „Rekordniveau access“ (RLA) und das weiß ich wird ein Thema für viele Tabellen sein, sowieso die RLA ist erwähnt, weil Hinzufügen einer Spalte wird das Tabellenformat ändern und dann viele sehr alte Programme nicht mehr funktionieren ...

Offenbar ein PK Zugabe wurde das Tabellenformat nicht geändert werden gezeigt. Also ich, dass eine bestimmte Menge von Schlüsseln gesagt habe, ist garantiert einzigartig zu sein, auch was wissen Sie ... es nicht ist. Und jetzt muss ich zeigen, wo sie nicht sind.

Alles, was ich denken kann ist:

Holen Sie sich das Kreuzprodukt, wo die Tabelle Spiele auf sie Primärschlüssel ist.

Irgendwie eine Zählspalte auf die Ergebnismenge erhält für die Anzahl der Einträge, bei denen die PK sie paßt selbst.

Filter, die Ergebnismenge für Werte, bei denen Zählung id größer als 2 ist.

Ich werde sehen, ob ich die PK erweitern ausreichend werde ich tatsächlich etwas Einzigartiges finden.

War es hilfreich?

Lösung

Entfernen Sie die Einschränkungen / eindeutige Indizes, legen Sie die Daten, und dann diese Abfrage ausführen:

SELECT col1, col2, ..., coln, COUNT(*)
FROM your_table
GROUP BY col1, col2, ..., coln
HAVING COUNT(*) > 1

Dabei galt col1, col2, ..., coln die Liste der Spalten in Ihrem Schlüssel ist (eine oder mehr Spalten). Das Ergebnis wird die Liste der Schlüssel sein, die mehrfach auftreten, zusammen mit einer Zahl zeigt, wie oft sie auftreten.

Andere Tipps

select col1, ... from tab group by col1, ... having count(*)>1;
SELECT * FROM (SELECT ID, COUNT(*) CNT FROM MY_TABLE GROUP BY ID) WHERE CNT > 1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top