PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL Help - Doppelten Eintrag entfernen


reallord
2011-04-04, 23:54:58
Hey, hoffentlich kann mir hier einer helfen.

Bsp: Eine Tabelle, 2 Spalten mit IDs

Spalte A: Spalte B:
1 10
1 17
2 11
3 12
3 17
4 13
5 17
6 10
7 10
7 17
8 15


Ich möchte alle 17er entfernen, wenn bereits eine 10 für die gleiche ID aus Spalte A vorhanden ist. Im Beispiel sollen also 1,17 und 7,17 weg.

Das Entfernen von allen 17ern hilft mir nich, da dann auch ID 3, 5 und 8 gelöscht werden.


Psyeudo SQL Code:
delete from tabelle where B='17' when exists B='10';


DBMS ist Oracle (v.8? glaub ich). Würde mich freuen, wenn hier nen SQL Guru ne Idee hätte. =)

samm
2011-04-05, 00:32:33
Kommt mir auf die Schnelle nichts Elegantes in den Sinn, aber sowas wie Folgendes sollte den Job erledigen:
delete from tabelle
where B = 17 and A in
(select A from tabelle
where B = 10)

reallord
2011-04-05, 11:12:09
Funktioniert einwandfrei so. Danke =)