Insertar columna

Tengo 2 tablas t1 y t2, en donde:
t1 ficha, nombre
t2 ficha, num_contr
Añado columna contr a t1.
Y quiero insertar los datos de t2 num_contr
en t1 contr.
Cuando las fichas sean iguales.
1

1 respuesta

Respuesta
1
Asumo que la columna ficha es la clave primaria, y que por cada ficha
de t1 existe una equivalente en t2. Esto implica hacer un UPDATE :
UPDATE t1
SET contr = ( SELECT num_contr FROM t2 WHERE t2.ficha = t1.ficha )
Si hay filas en t2 que no existen en t1, entonces hace falta un INSERT multiple :
INSERT INTO t1
( ficha, contr )
SELECT ficha, num_contr
FROM t2
WHERE NOT EXISTS ( SELECT * FROM t1 WHERE t1.ficha = t2.ficha )
Aunque todo esto en teoría funciona, lo que no entiendo es porque guardas
información de las fichas en tablas distintas. Espero que tengas una buena
razón, sino lo único que conseguirás es complicarte la vida.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas