Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/03/2013, 07:13
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: 17 años, 3 meses
Puntos: 2658
Respuesta: consulta que no actualiza

Por un lado, a mi entender estás complicando innecesariamente la consulta.
Hacer una subconsulta en ese contexto es bastante innecesario, bien podrías escribirla así:
Código MySQL:
Ver original
  1.     tabla_productos p
  2.     INNER JOIN con_stock c ON p.ref_fabricante = c.ref_fabricante
  3. SET p.p_dealer = c.p_dealer
Por otro lado, ambas consultas deberían funcionar, a menos que hubiese algún impedimento en el resultado del JOIN, por lo que sería mejor comprobar primero si esto devuelve datos:
Código MySQL:
Ver original
  1. SELECT p.ref_fabricante, p.p_dealer DealerOrigen, c.p_dealer DealerDestino
  2.     tabla_productos p
  3.     INNER JOIN con_stock c ON p.ref_fabricante = c.ref_fabricante ;
Si esto no devuelve datos, no existe relación entre ambos.
Si devuelve datos, pero ambos dealer son iguales, no realizará actualizaciones (son innecesarias).
Si devuelve más de un producto por cada fabricante, o más de un fabricante por cada producto, entonces tienes un problema de datos que no permite realizar correctamente la actualización.
En ese caso necesitaríamos una muestra de los datos de este SELECT para ver por qué no se genera correctamente el UPDATE.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)