Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Zeilen mit MySQL LEFT JOIN mit DELETE-Syntax?

Wie lösche ich Zeilen mit MySQL LEFT JOIN mit DELETE-Syntax?

DDD
DDDOriginal
2024-12-01 19:49:10943Durchsuche

How to Delete Rows Using MySQL LEFT JOIN with DELETE Syntax?

Zeilen mit MySQL LEFT JOIN entfernen

Problem:

Sie haben zwei Tabellen: eine für Jobfristen und ein weiteres für Jobbeschreibungen. Sie müssen Termineinträge basierend auf den Status in der Stellenbeschreibungstabelle löschen. Die Verwendung eines LEFT JOIN zur Auswahl funktioniert, aber die Ausführung eines DELETE führt zu einem Syntaxfehler.

Abfrage zur Auswahl:

SELECT * FROM `deadline`
LEFT JOIN `job` ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

Lösung:

Um den DELETE-Vorgang auszuführen, müssen Sie explizit die Tabellen angeben, aus denen Sie Zeilen löschen möchten. Hier sind die möglichen Optionen:

Nur ​​Deadline-Zeilen löschen:

DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....

Sowohl Deadline- als auch Job-Zeilen löschen:

DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....

Nur ​​Job löschen Zeilen:

DELETE `job` FROM `deadline` LEFT JOIN `job` ....

Durch Angabe der richtigen Tabelle in der DELETE-Anweisung können Sie die gewünschten Zeilen basierend auf dem Status in der Jobbeschreibungstabelle erfolgreich entfernen.

Das obige ist der detaillierte Inhalt vonWie lösche ich Zeilen mit MySQL LEFT JOIN mit DELETE-Syntax?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn