使用MySQL LEFT JOIN删除行
我有两个表格,一个是工作截止date,一个是工作描述。 每个工作都可以采取一种状态,一些状态意味着工作的最后期限必须从另一个表中删除。
我可以轻松地SELECT符合我的标准的工作/最后期限, 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' 
  ( status属于job表不是deadline ) 
 但是,当我想从deadline删除这些行时,MySQL会引发错误。 我的查询是: 
 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' 
MySQL错误没有说什么:
你的SQL语法有错误; 检查对应于您的MySQL服务器版本的手册,以便在第1行的'LEFT JOIN
jobON deadline.job_id = job.job_id WHEREstatus='szaml'附近使用正确的语法
 我怎样才能把我的SELECT变成一个工作的DELETE查询? 
 您只需指定在哪个表上应用DELETE 。 
 只删除deadline行: 
 DELETE `deadline` FROM `deadline` LEFT JOIN `job` .... 
 删除deadline和job行: 
 DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` .... 
 只删除job行: 
 DELETE `job` FROM `deadline` LEFT JOIN `job` .... 
如果您正在使用“表格”,则将其指定为删除。
在这个例子中,我删除了table_2中不存在的所有table_1行。
 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'); 
我不知道,如果这种子查询在MySQL中的作品,但尝试。 我假设你在截止date表中有一个ID列。