我试图根据另一个数据库的选择标准从一个数据库中删除记录。我们有两个表,emailNotification,用于存储作业和电子邮件列表。然后我们有工作。我想清除已关闭作业的emailNotifications。我在Stackoverflow上找到了一些较早的示例,这些示例将我带到了这种语法类型(我以前曾尝试在where之前进行连接)。
DELETE FROM emailNotification WHERE notificationId IN ( SELECT notificationId FROM emailNotification e LEFT JOIN jobs j ON j.jobId = e.jobId WHERE j.active = 1 )
我收到错误消息,您无法在FROM子句中指定目标表’emailNotication’进行更新。
我不确定您的要求。我从您的问题中了解到,您想删除所有已关闭的工作电子邮件。试试这个
DELETE e FROM emailNotification e LEFT JOIN jobs j ON j.jobId = e.jobId WHERE j.active = 1 AND CURDATE() < j.closeDate