Mysql SQL将值从一个表复制到另一个表

Mysql SQL将值从一个表复制到另一个表,mysql,sql,Mysql,Sql,在表B中,对于没有key=right的每个id,我需要创建它并将value\u A复制到value\u B 例如: 在状态之前 表A id value_A 1500 R20 1501 R21 1502 R22 id value_A 1500 R20 1501 R21 1502 R22 表B id key value_B 1500 left L20 1500 right R20 1501 le

在表B中,对于没有
key=right
的每个
id
,我需要创建它并将
value\u A
复制到
value\u B

例如:

在状态之前

表A

id      value_A
1500    R20
1501    R21
1502    R22
id      value_A
1500    R20
1501    R21
1502    R22
表B

id      key     value_B
1500    left    L20
1500    right   R20
1501    left    L21
1502    left    L22
1502    right   R22
id      key     value_B
1500    left    L20
1500    right   R20
1501    left    L21
1051    right   R21
1502    left    L22
1502    right   R22
状态之后

表A

id      value_A
1500    R20
1501    R21
1502    R22
id      value_A
1500    R20
1501    R21
1502    R22
表B

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

您需要
插入
。一种方法使用的
不存在

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'
                     );

您需要
插入
。一种方法使用的
不存在

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'
                     );

用你正在使用的数据库标记你的问题。用你正在使用的数据库标记你的问题。既然表a中不存在
'right'
,你如何选择a.id、'right',a.value_a
。这是一个常量。谢谢@Gordon。我发布了一个后续问题,既然表a中不存在
'right'
,您如何
选择a.id、'right',a.value\u a
。这是一个常量。谢谢@Gordon。我发布了一个后续问题