Hola vani18:
Creo que deberías comenzar por estudiar la sintaxis del DELETE, pues por lo que veo no tienes idea de cómo trabaja.
http://dev.mysql.com/doc/refman/5.0/es/delete.html
en primer lugar, en tu sentencia DELETE no estás especificando qué es lo que quieres eliminar, es decir, qué tabla o tablas quieres afectar...
Segundo, tal como especifica gnzsoloyo, no puedes eliminar una tabla y al mismo tiempo utilizarla en una subconsulta,
Cita: Es como cortar la rama donde estás parado.
Observa este scrpit:
Código MySQL:
Ver original+------+-------------+
| id | descripcion |
+------+-------------+
| 1 | uno |
| 2 | dos |
| 3 | tres |
| 4 | cuatro |
+------+-------------+
+------+-------------+
| id | descripcion |
+------+-------------+
| 2 | two |
| 3 | three |
| 5 | five |
+------+-------------+
Supongamos que queremos eliminar de ambas tablas los registros comunes, estos registros los obtenemos con la siguiente consulta,
Código MySQL:
Ver original+------+-------------+------+-------------+
| id | descripcion | id | descripcion |
+------+-------------+------+-------------+
| 2 | dos | 2 | two |
| 3 | tres | 3 | three |
+------+-------------+------+-------------+
Es decir, los registros 2 y 3 de la tablaA y los registros 2 y 3 de la tablaB, esta eliminación múltiple la podrías hacer así:
Código MySQL:
Ver originalmysql
> DELETE tablaA.
*, tablaB.
* -> FROM tablaA
, TablaB
WHERE tablaA.id
= tablaB.id
; Query OK, 4 rows affected (0.06 sec)
+------+-------------+
| id | descripcion |
+------+-------------+
| 1 | uno |
| 4 | cuatro |
+------+-------------+
+------+-------------+
| id | descripcion |
+------+-------------+
| 5 | five |
+------+-------------+
Observa que en DELETE NO PUEDES UTILIZAR JOIN'S, por lo que tienes que listar las tablas separadas por comas y poner el las uniones en el WHERE.
Saludos
Leo.