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 originalSELECT * FROM
(SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
FROM tabla1
INNER JOIN tabla2
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 originalSELECT * FROM
(SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
FROM tabla1
INNER JOIN tabla2
ON tabla1.clase_id = tabla2.id
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 t
abla2.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 originalUPDATE (SELECT tabla1.id, tabla1.nombre, tabla1.clase_id, tabla2.id AS tabla2id, tabla2.tipo_id
FROM tabla1
INNER JOIN tabla2
ON tabla1.clase_id = tabla2.id
WHERE tabla1.nombre = 118) TEMPORAL
SET TEMPORAL.clase_id = TEMPORAL.tipo_id
Desde ya agradezco toda ayuda.