Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Records löschen wenn Wert einer anderen Tabelle bestimmt ist

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von DBNovice, 11 Dezember 2012.

  1. DBNovice

    DBNovice Neuer Benutzer

    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
     
  2. DBNovice

    DBNovice Neuer Benutzer

    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
     
    ukulele gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden