Eliminando filas con MySQL LEFT JOIN

Tengo dos tablas, una para las fechas límite de trabajo, una para describir un trabajo. Cada trabajo puede tener un estado y algunos estados significa que los plazos de los trabajos se deben eliminar de la otra tabla.

Puedo SELECT fácilmente los trabajos / fechas límite que cumplen mis criterios con un LEFT JOIN :

 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' 

(el status pertenece a job tabla de job no la deadline )

Pero cuando me gustaría eliminar estas filas de la deadline , MySQL arroja un error. Mi consulta es:

 DELETE 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' 

El error de MySQL no dice nada:

Usted tiene un error en su syntax SQL; revise el manual que corresponde a su versión del servidor MySQL para la syntax correcta para usar cerca de ‘LEFT JOIN job ON ON deadline.job_id = job.job_id WHERE status =’ szaml ‘en la línea 1

¿Cómo puedo convertir mi SELECT en una consulta DELETE activa?

Simplemente necesita especificar en qué tablas aplicar el DELETE .

Eliminar solo las filas de deadline :

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

Eliminar la deadline y job filas de job :

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

Eliminar solo las filas del job :

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

Si está utilizando “tabla como”, especifíquelo para eliminar.

En el ejemplo elimino todas las filas de la tabla_1 que no existen en la tabla_2.

 DELETE t1 FROM `table_1` t1 LEFT JOIN `table_2` t2 ON t1.`id` = t2.`id` WHERE t2.`id` IS NULL 
 DELETE FROM deadline where ID IN ( SELECT d.ID FROM `deadline` d 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'); 

No estoy seguro de si ese tipo de sub consulta funciona en MySQL, pero pruébalo. Supongo que tiene una columna de ID en su tabla de plazos.

Prueba esto:

 DELETE `deadline` FROM `deadline` INNER JOIN `job` ON `deadline`.`job_id` = `job`.`id` WHERE `job`.`id` = 123