sql update多表关联

一、建立测试表
CREATE TABLE t_user (
ID int identity PRIMARY KEY,
UserID varchar(50) not null,
UserName varchar(50) null,
deptID int not null,
phone varchar(50) null,
fax varchar(50) null
)

CREATE TABLE t_dept (
ID int identity PRIMARY KEY,
DeptName varchar(50) null,
phone varchar(50) null,
fax varchar(50) null
)

INSERT t_user
SELECT N'001',N'张三',1,N'88888001',N'99999001'
UNION  ALL SELECT N'002',N'李四',2,N'88888002',N'99999002'
UNION  ALL SELECT N'003',N'王五',2,N'88888003',N'99999003'
UNION  ALL SELECT N'004',N'赵六',3,N'88888004',N'99999004'

INSERT t_dept
SELECT N'开发部',N'88888011',N'99999011'
UNION  ALL SELECT N'市场部',N'88888022',N'99999022'
UNION  ALL SELECT N'售后部',N'88888033',N'99999033'


二、sql更新(每次执行update后都还原t_user数据)

1, update t_user set phone=d.phone, fax=d.fax from t_dept d where deptID=d.ID

2、update u set u.phone=d.phone, u.fax=d.fax from t_user u, t_dept d where u.deptID=d.ID

你可能感兴趣的:(sql)