从其他列更新表的列

时间:2014-07-30 04:19:21

标签: sql sql-server

假设我使用的是SQL Server,并且在同一个数据库中有2个表。

表格为ab

  Table a              and     Table b

  ID  Group   Wname            ID    Wname      Group
   1  Sword                     1 Magic Sword   Sword
   2  Sword                     2 Nature Sword  Sword
   3  Sword                     
   4  Sword  

我想获取表b的Wname列值,并将它们应用于表a的Wname

结果应为:

  Table a

  ID Group   Wname
   1 Sword   Magic Sword
   2 Sword   Nature Sword
   3 Sword   Magic Sword
   4 Sword   Nature Sword

我尝试了一些功能,但结果不是我需要的。

我需要一些不同的功能

我试过了:

UPDATE TableA 
SET Wname = b.Wname 
FROM Tableb b 
WHERE Group = b.Group  

结果是:

 Table a

  ID Group   Wname
   1 Sword   Magic Sword
   2 Sword   Magic Sword
   3 Sword   Magic Sword
   4 Sword   Magic Sword

尝试#2

UPDATE TableA 
SET Wname = (SELECT Wname FROM Tableb) 
WHERE Group = b.Group

结果错误是:

  

值!= 1,无法更新.......

1 个答案:

答案 0 :(得分:0)

我认为,这对你有用

Update  a
Set     a.Wname  = b.Wname
From    [Table a] a
Join    [Table b] b On (a.Id %2) = (b.Id % 2)