För andra som tycker att den här frågan vill raderas medan de använder en underfråga, lämnar jag det här exemplet för att överlista MySQL (även om vissa verkar tro att det inte går att göra):
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar');
ger dig ett felmeddelande:
ERROR 1093 (HY000): You can't specify target table 'e' for update in FROM clause
Men denna fråga:
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar') x);
kommer att fungera bra:
Query OK, 1 row affected (3.91 sec)
Slå in din underfråga i en ytterligare underfråga (här kallad x) så gör MySQL gärna vad du ber om.