Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/08/2013, 11:45
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: No consigo actualizar una columna a través de 3 tablas

No es sólo que no puedes hacerlo "de esa forma". No puedes hacer un UPDATE sobre la misma tabla que haces un SELECT.

Tan sencillo como eso.

Además, ¿te das cuenta que la única forma de que tal vez podría funcionar, es si esa subconsulta devolviese un únic registro, no?
Código MySQL:
Ver original
  1. UPDATE `bfb9s_virtuemart_medias`
  2.     SET `file_title` = (
  3.                         SELECT `product_name`
  4.                         FROM `bfb9s_virtuemart_products_es_es`
  5.                         WHERE `virtuemart_product_id` IN (
  6.                                         SELECT `virtuemart_product_id`
  7.                                         FROM `bfb9s_virtuemart_product_medias`
  8.                                         WHERE `virtuemart_media_id` IN (SELECT `virtuemart_media_id`
  9.                                                                         FROM `bfb9s_virtuemart_medias`)))
Lo que quieres hacer conviene hacerlo con consultas previas, sea por programación o bien en un stored procedure.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)