Ver Mensaje Individual
  #9 (permalink)  
Antiguo 18/07/2012, 08:08
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: como se hacen estas consultas sql

Hola vani18:

La sintaxis de la consulta, es correcta, sin embargo, pudieras tener un error de ejecución si (como lo deduces muy bien) la subconsulta regresa más de un valor. en este caso debes utilizar IN, de esta manera, no importa si la subconsulta te regresa NULL, 1 registro o N registros, la sentencia IN soporta todos los casos.

También podrías utilizar una JOIN para eliminar los registros, la sentencia sería más o menos así:

Código MySQL:
Ver original
  1. DELETE material.*
  2. FROM material
  3. INNER JOIN compuesto_por ON material.cod = compuesto_por.material_cod
  4. WHERE compuesto_por.herramienta_id=343

Al poner material.* estás especificando que sólo se eliminarán los elementos de la tabla material que cumplan con la condición de igualdad... el resultado debería ser el mismo. Haz la prueba y nos comentas.

Saludos
Leo.