关于sqlserver某个字段的update更新操作
表table1中有两个字段(user_id,telephone)user_id为主键;表table2中其中两个字段(joid_id,telephone),join_id是...
表table1中有两个字段(user_id, telephone) user_id为主键;
表table2中其中两个字段(joid_id,telephone),join_id是跟table1中的user_id关联,table2中可能存在重复的数据;我现在要批量更新table2中的telephone字段,将table2中的telephone更新为joid_id等于table1中的user_id的telephone,求例如下:
table1
user_id telephone
1 123456
2 456789
table2
joid_id telephone
1 758495
1 758495
2 845621
更新后的结果为
table1
user_id telephone
1 123456
2 456789
table2
joid_id telephone
1 123456
1 123456
2 456789
求给出sql语句 展开
表table2中其中两个字段(joid_id,telephone),join_id是跟table1中的user_id关联,table2中可能存在重复的数据;我现在要批量更新table2中的telephone字段,将table2中的telephone更新为joid_id等于table1中的user_id的telephone,求例如下:
table1
user_id telephone
1 123456
2 456789
table2
joid_id telephone
1 758495
1 758495
2 845621
更新后的结果为
table1
user_id telephone
1 123456
2 456789
table2
joid_id telephone
1 123456
1 123456
2 456789
求给出sql语句 展开
4个回答
展开全部
update a set a.telephone=b.telephone
from table2 a
inner join table1 b on a.joid_id=b.user_id
或者
update table2
set telephone=a.telephone
from table1 a
WHERE table2.joid_id=a.user_id
两种方式都可以
from table2 a
inner join table1 b on a.joid_id=b.user_id
或者
update table2
set telephone=a.telephone
from table1 a
WHERE table2.joid_id=a.user_id
两种方式都可以
追问
恩,我是想到了用merge来操作,也是可以的,merge into table2 t using
(select user_id,telephone from table1) b
on t.user_id = b.joid_id
when matched then
update set t.telephone = b.telephone
追答
嗯 实现方式很多,你可以用查询分析器分析下哪个效率高用哪个了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table2
set table2.telephone = table1.telephone
from table1, table2
where table2.joid_id = table1.[user_id]
user_id与关键字相同了,要用[]包起来,本地测试通过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table2 t2 set telephone=(select t1.telephone from table1 t1 where t1.user_id=t2.joid_id)
更多追问追答
追问
一看就知道是错误的,后面的子查询显然是个多数据集合,怎么跟前面的telephone对应更新
追答
你说表2有重复数据,表1又没有,怎么会是多数据?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table2
set telephone=a.telephone
from table1 a
WHERE table2.joid_id=a.user_id
set telephone=a.telephone
from table1 a
WHERE table2.joid_id=a.user_id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询