Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2009, 06:23
Avatar de lone
lone
 
Fecha de Ingreso: abril-2009
Ubicación: Valencia
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
No consigo actualizar campos en una tabla desde otra tabla

Buenas a todos.

Estoy intentando actualizar los datos en un campo de una tabla, cuando los datos no coinciden con otra tabla, sin embargo me devuelve errores del tipo "#1242 - Subquery returns more than 1 row" "la subconsulta devuelve más de una fila". Las tablas son:

p_mf_xref (tabla que quiero actualizar)
+ mf_category_id (campo que quiero actualizar)
+ manufacturer_id (campo que comparo y hace referencia al valor que quiero actualizar)

jos_vm_manufacturer (tabla donde se encuentran los datos a comparar)
+ mf_category_id (campo con el valor que se tiene que copiar a la otra tabla)
+ manufacturer_id (campo con el que comparo)

La acción es la siguiente p_mf_xref.manufacturer_id lo comparo con jos_vm_manufacturer.manufacturer_id cuando lo encuentra copia el valor de jos_vm_manufacturer.mf_category_id al campo p_mf_xref.mf_category_id.

He intentado utilizar el siguiente codigo (pero como hace 10 dias que empecé con Mysql no logro hacerlo correctamente)

UPDATE p_mf_xref
SET mf_category_id = (SELECT mf_category_id FROM jos_vm_manufacturer)
WHERE manufacturer_id IN (SELECT manufacturer_id FROM jos_vm_manufacturer)

Alguíen podría explicarme como se hace o que estoy haciendo mal. Gracias por adelantado.