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

Deleten eines Datensatzes

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Hieu123, 15 November 2020.

  1. Hieu123

    Hieu123 Benutzer

    Im Anhang ist das Relationenmodell zu finden es geht grob darum das man einen Kühlschrank hat mit Tablettes und auf diesen Tablettes sind Probem ich möchte halt versuchen die Probem von einem bestimmten Tablett zu löschen habe das ganze so probiert

    delete * from sample from place as pl join sample as s on pl.sampleid = s.sampleid join tray as t on pl.trayid = t.trayid where t.trayid = 1;

    aber das funktioniert nicht. Könnte mir vielleicht jemand sagen wo mein Fehler liegt?
    upload_2020-11-15_19-20-7.png
     

    Anhänge:

  2. akretschmer

    akretschmer Datenbank-Guru

    Ein Komma aller 7cm erhöht die Lesbarkeit gewaltig.

    Dein SQL ist mehrfach falsch, ein Delete benötigt keine Spaltenliste und gestattet nur 1 FROM.
    Kannst Du ein SELECT bauen, welches die zu löschenden Datensätze liefert? Das wäre der erste Ansatz.
     
  3. Hieu123

    Hieu123 Benutzer

    select * from sample join place on sample.sampleID = place.sampleid join tray on place.trayID = tray.trayID where tray.trayid = 1;

    das wäre es
     
  4. akretschmer

    akretschmer Datenbank-Guru

    so, damit sind wir ja schon mal weiter ...

    • ändere das SELECT * zu select SampleID ...
    • DELETE from ... WHERE SampleID in (die Abfrage von oben)

    *untested*
     
  5. Hieu123

    Hieu123 Benutzer

    meinst du so?
    delete sampleID from sample join place on sample.sampleID = place.sampleid join tray on place.trayID = tray.trayID where tray.trayid = 1;
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Nein.
     
  7. Hieu123

    Hieu123 Benutzer

    könntest du die Query vielleicht reinschrieben? Ich verstehe nicht ganz was du mit dem zweitem Teil deiner Antwort meinst?
     
  8. akretschmer

    akretschmer Datenbank-Guru

  9. Hieu123

    Hieu123 Benutzer

    vielen Dank
     
    akretschmer gefällt das.
  10. Hieu123

    Hieu123 Benutzer

    kann mehr wer anderes vielleicht eine hilfreichere Antwort geben?
     
  11. akretschmer

    akretschmer Datenbank-Guru

    Was ist denn Dein Problem? Siehe #4. Zuerst stellst Du die Abfrage so um, daß da nur eine Liste mit den zu löschenden ID's rauskommt. Dann DELETE FROM deine_tabelle WHERE ID IN (hier die Abfrage, die die zu löschenden ID's liefert).
     
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