从同一个表更新一个表的列

时间:2016-06-11 06:05:00

标签: sql sql-server tsql sql-update

我需要用同一个表中的其他表更新一列表

UPDATE table 
SET table1.name = table1.nickname
FROM table 
WHERE userid = 5

我的查询中有任何问题,请帮忙。

3 个答案:

答案 0 :(得分:3)

看起来您正在添加一些您不需要的语法...如果您需要的所有数据都已存在于该表中,那么就这样做,无论SQL的哪种风格(我认为) ;那部分我可能错了):

UPDATE dbo.tablename SET columnToChange = columnWithCorrectValue WHERE userid = 5

答案 1 :(得分:1)

不,您只需要从语法中删除From table部分。

答案 2 :(得分:1)

你做错了两件事:

  1. 更新查询错误,我的意思是语法
  2. 其次,您正在尝试更新table1而不是table
  3. 您的查询应该是:

    UPDATE table
    SET table.name = table.nickname
    WHERE table.userid = 5
    

    OR

    UPDATE table
    SET name = nickname
    WHERE table.userid = 5
    

    有关sql server中更新语法的更多信息,请check this