Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/10/2009, 05:01
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años
Puntos: 574
Respuesta: Ayuda en una consulta Update

En principio no hace falta que hagas el update peró bueno ahí va....


Código sql:
Ver original
  1. UPDATE fichero AS fc
  2.       INNER JOIN ensayo AS en
  3.       ON Fc.Id_Ensayo_Imag = en.Id_Ensayo
  4.       SET fc.Id_Ensayo_Imag= en.Id_Ensayo;

Sin el update y sin duplicar el campo siempre puedes hacer lo siguiente


Código sql:
Ver original
  1. SELECT fc.Id_Ensayo_Imag,
  2.              fc.Ruta,
  3.              en.Numero_Folio
  4. FROM fichero LEFT JOIN ensayo AS en
  5.       ON Fc.Id_Ensayo_Imag = en.Id_Ensayo;


Fijate en la diferencia de INNER JOIN y LEFT JOIN, en el primer caso, para el update, solo se actualizaran aquellos registros que sean comunes a las dos tablas.... en el caso del select uso LEFT para asegurar que si hay registros en fichero no relacionados con ensayo me los muestre...

si estas seguro que habra los mismos registros en las dos tablas serà indiferente el tipo de join que uses...

Si ensayo tiene mas campos és mejor no duplicar el campo y usar el select... si no tienen mas campos luego no aporta nada y seria mejor trabajar con una sola tabla si la relación es 1 a 1.

Quim