Nur den ersten Datensatz löschen wenn mehrere gleiche da sind

uNh0Ly

Neues Mitglied
Hallo zusammen,
ich hab folgendes Problem. Ich hab ne Datenbank angelegt, die eine n:m Beziehung darstellen sollte. Dementsprechend auch eine zwischentabelle erstellt die 2 andere Tabellen mit einander verknüpft
die sieht ungefähr so aus

a c
----------- -----------
1 1
1 1
1 2
1 2
1 2

ich weiss suboptimal kein primärschlüssel und keine eindeutige identifikationsmöglichkeit. Das ist auch atm das Problem. ich würde gerne aus der Tabelle 1 Datensatz rauslöschen und falls es ihn mehrmals gibt nur den ersten und nicht alle ... mit "Delete from xy WHERE a = 1 AND b=2" ist werden alle rausgelöscht

a c
----------- -----------
1 1
1 1

Ich will hjedoch nur dass der erste gelöscht wird also so

a c
----------- -----------
1 1
1 1
1 2
1 2

Gibt es da eine Möglichkeit?
Vielen Dank im voraus.
unholy
 
Hallo,

dumm gelaufen, dass du keinen eindeutigen Key hast. Manche Datenbanken erstellen aber selber einen Key (z.B. ROWID). Dann kannst du probieren:

SQL:
Delete from xy WHERE a = 1 AND b=2 and ROWID = (select min(ROWID) from xy WHERE a = 1 AND b=2)
 

Zurück
Oben