Moin,
ich habe eine Datenbank vorgesetzt bekommen in der es einige Tabellen gibt die keinen PK besitzen.(Wie und warum? Keine Ahnung!)
Ich habe schon fast allen wieder einen PK gegeben, nur 2 Tabellen wollen nicht. Bei den beiden Tabellen bekomme ich eine Fehlermeldung, dass es mehrere Schlüsselwerte gibt und deshalb kein PK erstellt werden kann.
Sooo... Problem:
Eine der beiden Tabellen soll einen zusammengesetzten PK bekommen der aus 6 Schlüsseln besteht. Alle Abfragen die ich bis jetzt im Netz gefunden habe beziehen sich immer (logischerweise) auf Tabellen, die 1. einen PK haben und 2. nur eine Spalte betroffen ist.
Bei mir muss ich doppelte Datensätze in einer Tabelle finden bei denen immer 6 Spalten doppelt sind.
Und dann muss ich jeweils alle bis auf einen (den neusten) Datensatz löschen.
Mit..
konnte ich zumindest schon einmal heraus finden, wie oft es Duplikate gibt.
Danke schon mal im Voraus für eure Antworten. Ich hoffe meine Frage ist halbwegs verständlich
Gruß,
becks626
ich habe eine Datenbank vorgesetzt bekommen in der es einige Tabellen gibt die keinen PK besitzen.(Wie und warum? Keine Ahnung!)
Ich habe schon fast allen wieder einen PK gegeben, nur 2 Tabellen wollen nicht. Bei den beiden Tabellen bekomme ich eine Fehlermeldung, dass es mehrere Schlüsselwerte gibt und deshalb kein PK erstellt werden kann.
Sooo... Problem:
Eine der beiden Tabellen soll einen zusammengesetzten PK bekommen der aus 6 Schlüsseln besteht. Alle Abfragen die ich bis jetzt im Netz gefunden habe beziehen sich immer (logischerweise) auf Tabellen, die 1. einen PK haben und 2. nur eine Spalte betroffen ist.
Bei mir muss ich doppelte Datensätze in einer Tabelle finden bei denen immer 6 Spalten doppelt sind.
Und dann muss ich jeweils alle bis auf einen (den neusten) Datensatz löschen.
Mit..
Code:
select
[Column 1],[Column 2],[Column 3],[Column 4],[Column 5],[Column 6]
from
TableName
group by
[Column 1],[Column 2],[Column 3],[Column 4],[Column 5],[Column 6]
having
count(*) > 1
Danke schon mal im Voraus für eure Antworten. Ich hoffe meine Frage ist halbwegs verständlich

Gruß,
becks626