Tengo la siguiente consulta MySQL:MySQL borrar con consulta de selección anidado
DELETE FROM catalogue
WHERE catalogue_id IN (
SELECT catalogue_id
FROM catalogue
WHERE (
product_id = (SELECT product_id FROM catalogue WHERE catalogue_id = '2290')
AND length_id = (SELECT length_id FROM catalogue WHERE catalogue_id = '2290')
AND gauge_id = (SELECT gauge_id FROM catalogue WHERE catalogue_id = '2290')
)
)
Pero cuando intento ejecutar me sale el siguiente mensaje de error:
No se puede especificar la tabla de destino ' catálogo 'para la actualización en la cláusula FROM
¿Podría alguien aconsejarme dónde me estoy equivocando?
Funciona perfectamente zerkms, pero ¿cuál es el motivo para tener que 'engañar' a MySQL? –
¿Qué tal si tienes más de una columna 'WHERE'? es decir, 'ELIMINAR DEL catálogo DONDE catalogue_id AND catalogue_name IN ...' – ThreaT
@ThreaT: No estoy seguro de lo que pregunta. Se pueden agregar múltiples predicados con 'ADD', yes. – zerkms