我有A表,三列
id text1 text2
我有表B,有4列
id A_id key value
表B中的数据如下
id A_id key value
1 1 text1 test_value1
2 1 text2 test_value2
表A中的每一行都映射到表B中的2行。表A上的列text1和text2现在为空。我正在尝试将数据从表B复制到表A。
我该如何一步一步做到?谢谢。 现在,我有以下声明,但必须指定
AND B.key = "text1"
,如何同时更新text1和text2列?
UPDATE A
INNER JOIN B
ON A.id = B.A_id
AND B.key = "text1"
SET A.text1 = B.value
答案 0 :(得分:2)
两次加入B
,每个“键”一次。
UPDATE `A`
INNER JOIN `B` `B1`
ON `B1`.`A_id` = `A`.`id`
AND `B1`.`key` = 'text1'
INNER JOIN `B` `B2`
ON `B2`.`A_id` = `A`.`id`
AND `B2`.`key` = 'text2'
SET `A`.`text1` = `B1`.`value`,
`A`.`text2` = `B2`.`value`;
答案 1 :(得分:0)