Voor anderen die vinden dat deze vraag wil worden verwijderd terwijl ze een subquery gebruiken, laat ik je dit voorbeeld achter om MySQL te slim af te zijn (zelfs als sommige mensen denken dat het niet kan):
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar');
geeft u een foutmelding:
ERROR 1093 (HY000): You can't specify target table 'e' for update in FROM clause
Maar deze vraag:
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar') x);
werkt prima:
Query OK, 1 row affected (3.91 sec)
Verpak uw subquery in een extra subquery (hier x genoemd) en MySQL zal graag doen wat u vraagt.