我正在尝试在名为ctcode
的表中更新名为partnumber
的行,从名为ctcode
的表中的行families
复制值。然而,我的SQL语句返回并且'where子句'中的“未知列'families.parent'”错误。
这是我的SQL语句
UPDATE `partnumber`
SET `partnumber`.`ctcode`=`families`.`ctcode`
WHERE `partnumber`.`partnumber`=`families`.`parent`;
我的陈述有什么问题?有没有更有效的方法呢?
答案 0 :(得分:4)
即使在UPDATE
语句
UPDATE `partnumber` a INNER JOIN `families` b
ON a.`partnumber` = b.`parent`
SET a.`ctcode`= b.`ctcode`
答案 1 :(得分:2)
适用于MySQL 5.5.24-0ubuntu0.12.04.1
UPDATE `partnumber`, `families`
SET `partnumber`.`ctcode`=`families`.`ctcode`
WHERE `partnumber`.`partnumber`=`families`.`parent`;
答案 2 :(得分:1)
尝试此查询
UPDATE partnumber
SET ctcode = f.ctcode
FROM partnumber p
INNER JOIN families f ON p.partnumber = f.parent