Dla innych, którzy chcą usunąć to pytanie podczas korzystania z podzapytania, zostawiam ci ten przykład, aby przechytrzyć MySQL (nawet jeśli niektórzy uważają, że nie można tego zrobić):
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar');
wyświetli błąd:
ERROR 1093 (HY000): You can't specify target table 'e' for update in FROM clause
Jednak to zapytanie:
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar') x);
będzie działać dobrze:
Query OK, 1 row affected (3.91 sec)
Zapakuj swoje podzapytanie w dodatkowe podzapytanie (tutaj o nazwie x), a MySQL z radością zrobi to, o co poprosisz.