Hallo zusammen,
ich habe eine Tabelle:
möchte möchte ausgeschrieben folgendes:
Lösche alle Datensätze, wo es mehr als einen Datensatzgibt wo auftragID und objektID in der Kombination mehrfach vorkommt. Hier müssten z. B. ID 17 + 18 gelöscht werden.
Ich schaffe es einfach nicht. Probiere und Probiere...
Mein Ansatz war folgender:
ich habe eine Tabelle:
Code:
CREATE TABLE `auftrag_objekte` ( `ID` int(11) NOT NULL, `auftragID` int(11) NOT NULL, `objektID` int(11) NOT NULL, `status` smallint(6) DEFAULT NULL COMMENT '0 = Nein 1 = Ja' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Lösche alle Datensätze, wo es mehr als einen Datensatzgibt wo auftragID und objektID in der Kombination mehrfach vorkommt. Hier müssten z. B. ID 17 + 18 gelöscht werden.
Code:
INSERT INTO `auftrag_objekte` (`ID`, `auftragID`, `objektID`, `status`) VALUES (17, 2, 19, NULL), (18, 2, 19, NULL), (19, 2, 19, NULL); (20, 5, 19, NULL); (21, 6, 19, NULL); COMMIT;
Mein Ansatz war folgender:
Code:
SELECT tab1.ID, tab1.auftragID, tab1.objektID, tab2.ID, tab2.auftragID, tab2.objektID FROM auftrag_objekte tab1, auftrag_objekte tab2 WHERE tab1.auftragID = tab2.auftragID AND tab1.objektID = tab2.objektID AND tab1.ID <> tab2.ID
Kommentar