Su pregunta es realmente no está claro, pero yo supongo que tienes una subconsulta correlacionada y usted está teniendo problemas para hacer un SELECT de la misma tabla que está bloqueado por la eliminación. Por ejemplo, para eliminar todas las revisiones menos la más reciente de un documento:
DELETE FROM document_revisions d1 WHERE edit_date <
(SELECT MAX(edit_date) FROM document_revisions d2
WHERE d2.document_id = d1.document_id);
Esto es un problema para MySQL.
Hay muchos ejemplos de este tipo de problemas se pueden resolver usando MySQL multi-mesa borrar sintaxis:
DELETE d1 FROM document_revisions d1 JOIN document_revisions d2
ON d1.document_id = d2.document_id AND d1.edit_date < d2.edit_date;
Pero estas soluciones están diseñadas mejor sobre una base caso por caso, por lo que si edita su pregunta y sea más específico sobre el problema que está tratando de resolver, quizás podamos ayudarlo.
En otros casos, puede que tenga razón, usar una tabla de temperatura es la solución más simple.
¿Por qué no puedes 'ejecutar directamente una declaración de eliminación y verificar una condición para la misma tabla'? –