日期:2014-05-18 浏览次数:20521 次
update tb1 set 身高=tb2.身高 from tb1 join tb2 on tb1.姓名=tb2.姓名
------解决方案--------------------
--> 测试数据:[Table1] if object_id('[Table1]') is not null drop table [Table1] create table [Table1]([姓名] varchar(4),[年龄] int,[性别] varchar(2)) insert [Table1] select '张三',18,'男' union all select '李四',19,'女' --> 测试数据:[Table2] if object_id('[Table2]') is not null drop table [Table2] create table [Table2]([姓名] varchar(4),[身高] int) insert [Table2] select '张三',160 union all select '李四',150 --给第一个表添加身高字段 alter table [Table1] add [身高] int go --更新第一个表的数据: update [Table1] set [Table1].[身高]=a.[身高] from [Table2] a where a.姓名=[Table1].姓名 --验证: select * from [Table1] /* 姓名 年龄 性别 身高 张三 18 男 160 李四 19 女 150 */
------解决方案--------------------
我猜想楼主的两个表是通过姓名主外键妆联的
UPDATE t1 SET t1.身高 = t2.身高 FROM Table1 AS t1 INNER JOIN Table2 AS t2 ON t1.姓名=t2.姓名
------解决方案--------------------
update Table1
set 身高=Table2.身高
from Table2
where Table1.姓名=Table2.姓名