Páginas

lunes, 1 de marzo de 2010

The multi-part identifier "table.field" could not be bound

Este error te puede ocurrir en Sql si por ejemplo quieres actualizar un campo de una tabla con valores de un campo de otra tabla el cual tenga muchos valores diferentes.

Ej. Estaba tratando de actualizar un campo de la tabla "Session_Student" con los valores de un campo de otra tabla que tenía y esto era lo que estaba escribiendo:

update session_student
set session_student.session_id = vista.id_session
where session_student.id_session_stud = vista.id_session_stud

Esto seria lógico siempre y cuando lo que quiera actualizar sea un solo valor pero como vamos a llamar muchos valores la forma correcta de hacerlo es:

update session_student
set session_student.session_id = Temp.id_session
from (select id_session, id_session_stud from vista)Temp
where session_student.id_session_stud = Temp.id_session_stud

17 comentarios:

  1. Gracias, fue la solución a mi problema ;)

    ResponderEliminar
  2. Muchas gracias, fue la explicación que estaba necesitando.

    ResponderEliminar
  3. Muchas gracias, era la explicación que estaba necesitando.

    ResponderEliminar
  4. Sencillo y a la cabeza. Muchas gracias

    ResponderEliminar
  5. Genial!!! pasé días viendo cómo resolver este problema, Gracias

    ResponderEliminar
  6. Grande maestro me sirvió de mucho gracias por compartir tu conocimiento

    ResponderEliminar
  7. Excelente, el conocimiento es lo único que se comparte y se duplica, muchas gracias

    ResponderEliminar
  8. Es bueno contar con expertos como tú. Gracias por la solución.
    Un saludo,

    ResponderEliminar
  9. Mil gracias amigo, gracias por compartir.

    ResponderEliminar
  10. Gracias. Una explicación simple, clara y efectiva, me ha ayudado mucho.

    ResponderEliminar