Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

UPDATE de una tabla con datos de otra

Estas en el tema de UPDATE de una tabla con datos de otra en el foro de SQL Server en Foros del Web. Buen dìa!!! Quiero efectuar una actualización en una tabla, tomando datos de otra, siendo que ambas están relacionadas, pero no encuentro como realizar el UPDATE. ...
  #1 (permalink)  
Antiguo 09/09/2011, 20:57
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta UPDATE de una tabla con datos de otra

Buen dìa!!!

Quiero efectuar una actualización en una tabla, tomando datos de otra, siendo que ambas están relacionadas, pero no encuentro como realizar el UPDATE. Les planteo el problema desde cero:

TABLA1
id
nombre
clase_id

TABLA2
id
tipo_id


La TABLA1.clase_id está relacionada con la TABLA2.id y la consulta SQL es la siguiente:

Código SQL:
Ver original
  1. SELECT * FROM
  2. (SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
  3. FROM tabla1
  4. INNER JOIN tabla2
  5. ON tabla1.clase_id = tabla2.id) TEMPORAL

Esto me muestra lo siguiente:
id nombre clase_id tabla2id tipo_id
Hasta aquí de maravillas.

Ahora le añado una restricción a la consulta SQL:
Código SQL:
Ver original
  1. SELECT * FROM
  2. (SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
  3. FROM tabla1
  4. INNER JOIN tabla2
  5. ON tabla1.clase_id = tabla2.id
  6. WHERE tabla1.nombre = 118) TEMPORAL

Correcto me trae exactamente lo que busco, ahora viene lo complicado, quiero hacer un UPDATE de la tabla1 que:
tabla1.clase_id tome el valor de tabla2.tipo_id

Ese UPDATE debe ser basado en la consulta SQL y allí es donde no sé para dónde salir corriendo XD

Intente hacer algo así, pero claro, no funciona :(
Código SQL:
Ver original
  1. UPDATE (SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
  2. FROM tabla1
  3. INNER JOIN tabla2
  4. ON tabla1.clase_id = tabla2.id
  5. WHERE tabla1.nombre = 118) TEMPORAL
  6. SET TEMPORAL.clase_id = TEMPORAL.tipo_id

Desde ya agradezco toda ayuda.
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 10/09/2011, 15:34
 
Fecha de Ingreso: octubre-2010
Ubicación: Chihuahua
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: UPDATE de una tabla con datos de otra

Buen día,

intenta con este codigo y nos comentas si te funciono.

Código:
UPDATE tabla1
	SET tabla1.clase_id = tabla2.tipo_id
FROM tabla1 INNER JOIN 
	 tabla2 ON tabla1.clase_id = tabla2.id
WHERE tabla1.nombre = 118
Saludos
  #3 (permalink)  
Antiguo 11/09/2011, 00:09
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
De acuerdo Respuesta: UPDATE de una tabla con datos de otra

Si! funciona muy bien, gracias!!!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/

Etiquetas: select, sql, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:13.