我有两个表,需要将数据从一个移动到另一个。我只想将特定值从第一列移动,即如果它们 = ni (varchar) 到第二列的新列。
所以我想从表lime_survey_56999中选择下面的nr数据
`id` `56999X159X3400`
1 2
2 6
3 nr
4 mi
并将其移动到新表lime_survey_56999_cube,这样它就可以读取
`id` `External-Unique-Factors4NR`
1 NULL
2 NULL
3 nr
4 NULL
我不能使用 INSERT INTO 因为lime_survey_56999_cube 中已经有数据,我需要它来匹配第一个表中的原始行。
以下是我的尝试及其结果/错误消息
UPDATE `lime_survey_56999_cube` set `lime_survey_56999_cube`.`External-Unique-Factors4NR` = (select `56999X159X3400` from `lime_survey_56999` where `56999X159X3400` = 'nr')
错误 #1242 - 子查询返回多于 1 行
UPDATE `lime_survey_56999_cube`
SET `External-Unique-Factors4NR` = 'nr'
WHERE `56999X159X3400` in (select `56999X159X3400` from `lime_survey_56999` where `56999X159X3400` = 'nr');
错误 #1054 - 'IN/ALL/ANY 子查询' 中的未知列 '56999X159X3400'
UPDATE `lime_survey_56999_cube`
INNER JOIN `lime_survey_56999`
SET `lime_survey_56999_cube`.`External-Unique-Factors4NR` = `lime_survey_56999`.`56999X159X3400`
WHERE `lime_survey_56999`.`56999X159X3400` = 'nr'
这仅将 nr 放入 External-Unique-Factors4NR 的所有列中,而不是它对应于第一个表中的条目的位置。
任何帮助将不胜感激!我一直在为此扯头发!