SQL para copiar valores de una tabla a otra

Oct 18 2020

En la Tabla B, para cada uno idque no tiene key=right, necesito crearlo y copiarlo value_Aen value_B.

Ejemplo:

Antes del estado

Cuadro A

id      value_A
1500    R20
1501    R21
1502    R22

Cuadro B

id      key     value_B
1500    left    L20
1500    right   R20
1501    left    L21
1502    left    L22
1502    right   R22

Después del estado

Cuadro A

id      value_A
1500    R20
1501    R21
1502    R22

Cuadro B

id      key     value_B
1500    left    L20
1500    right   R20
1501    left    L21
1051    right   R21
1502    left    L22
1502    right   R22

Respuestas

GordonLinoff Oct 17 2020 at 22:29

Quieres insert. Un método utiliza not exists:

insert into b (id, key, value_b)
    select a.id, 'right', a.value_a
    from a
    where not exists (select 1
                      from b
                      where b.id = a.id and b.key = 'right'
                     );