Records löschen wenn Wert einer anderen Tabelle bestimmt ist

DBNovice

Neuer Benutzer
Beiträge
2
Hallo,

ich bin ein DB-Anfänger und habe mit dem Löschen von speziellen Records einer Tabelle ein Problem.
Ich möchte aus einer Tabelle bestimmte Records löschen wenn in einer verlinkten Tabelle (durch FK) der Wert mit einer dort ebefalls verlinkten Tabelle übereinstimmt.
Das muss mit dem integrierten MySQL-Script funktionieren (kein PHP, usw....), ich versuche mein Problem, so gut mir dies möglich ist, zu beschreiben:
TabA: ida, name
TabB: idb, name, fk_ida
TabC: idc, name, fk_idb

Nun sollten die Records der TabC gelöscht werden welche mit TabB durch fk_idb verlinkt sind und deren TabB.ida Wert z.B. gleich 100 ist.

Mit "Konstrukten" wie:
DELETE FROM TabC WHERE TabC.fk_idb IN (SELECT fk_idb FROM TabB WHERE fk_ida = '100');
bin ich leider gescheitert.

Hättet Ihr dafür evtl. eine Idee oder ein Script-Beispiel für mich?

Vielen Dank
LG
DBNovice
 
Werbung:
Hallo,

vielen Dank, ich habe die Antwort auf meine Frage inzwischen selbst gefunden, war ein Denkfehler, korrekt muss es so aussehen:
DELETE FROM TabC WHERE fk_idb IN (SELECT idb FROM TabB WHERE fk_ida = '100');

LG
DBNovice
 
Zurück
Oben