在介绍update之前先推荐两个备份表的sql。
Select * into table_2 from table_1//table2可以不存在
Insert into table_2(column1,column2) select column1,column2 from table_1 //需要先创建table_2若不存在
链接推荐 : 链接地址 链接地址
这次描述的问题是如何根据第二张表(RYQXB)关联更新该表(UserInfo)的某字段值为本表的另一字段值(自连接查询)
有这样两张表
UsersInfo存放员工信息,其中reporto字段需要存放的该员工的上级领导id号,目前默认存为0
RYQXB是从excel中导入进来的,其中reportto存放的是上级领导的Ename
如何根据RYQXB关联将UsersInfo 表reporto字段值update成相应的id.
Sqlserver(oracle写法和sqlserver还不一样,可以用select作为一个子表进行更新,这需要注意下) : sql如下:
UPDATE DBO.UsersInfo SET DBO.UsersInfo.ReporTo=B.Id
FROM
DBO.UsersInfo,DBO.UsersInfoB,dbo.RYQXB
where DBO.UsersInfo.UserCode=dbo.RYQXB.Usercode
AND dbo.RYQXB.REPORTTO=B.Ename
。
具体情况若是判断逻辑关系是否正确可以像这样试试:
Select dbo.usersinfo.usercode,dbo.ryqxb.usercode,dbo.ryqxb.reportto,b.ename
FROM DBO.UsersInfo,DBO.UsersInfo B,dbo.RYQXB
where DBO.UsersInfo.UserCode=dbo.RYQXB.Usercode AND dbo.RYQXB.REPORTTO=B.Ename
。
Sqlserver多表关联更新
最新推荐文章于 2026-05-21 11:53:53 发布
本文介绍了如何在SQL Server中通过多表关联来更新一个表的字段值,特别是当需要根据另一表的字段信息来更新目标字段时。以用户信息表(UsersInfo)为例,展示了如何依据RYQXB表中的数据更新reporto字段,将其设置为对应的上级领导ID。


5998

被折叠的 条评论
为什么被折叠?



