Можете да го увиете в подзаявка по този начин. Проблемът е, че 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
)