Вы можете заключить его в подзапрос, например, так.Проблема в том, что MySQL не может обновлять строки, которые он также запрашивает.Это заставит MySQL неявно использовать временную таблицу для хранения идентификаторов, которые вы хотите удалить.
DELETE FROM tasks
WHERE tasks.id IN
(
SELECT id FROM
(
SELECT tasks.id
FROM tasks
JOIN deadlines ON deadlines.id = deadline_id
WHERE DATE_ADD(tasks.created_at, INTERVAL deadlines.duration DAY) <= NOW()
) AS taskstodelete
)