create table company
(
id int identity primary key,
names nvarchar(20)
)
insert into company values('中部印刷网')
insert into company values('睿智软件')
go
create table job
(
id int identity primary key,
jobName nvarchar(20),
companyName nvarchar(20),
)
go
insert into job values('程序员','中部印刷网')
insert into job values('美工','中部印刷网')
insert into job values('软件工程师','睿智软件')现在又这样的两张表,职位表中没有公司id
现在添加上一个公司id字段 companyId,以前的数据中该列的值都是null 有没有办法
使用一条sql语句 将这个字段的值修改为对应公司表中的id啊?
希望知道的朋友帮忙指点一下 谢谢了!
(
id int identity primary key,
names nvarchar(20)
)
insert into company values('中部印刷网')
insert into company values('睿智软件')
go
create table job
(
id int identity primary key,
jobName nvarchar(20),
companyName nvarchar(20),
)
go
insert into job values('程序员','中部印刷网')
insert into job values('美工','中部印刷网')
insert into job values('软件工程师','睿智软件')现在又这样的两张表,职位表中没有公司id
现在添加上一个公司id字段 companyId,以前的数据中该列的值都是null 有没有办法
使用一条sql语句 将这个字段的值修改为对应公司表中的id啊?
希望知道的朋友帮忙指点一下 谢谢了!
(
id int identity primary key,
names nvarchar(20)
)
insert into company(names) values('中部印刷网')
insert into company(names) values('睿智软件')
go
create table job
(
id int identity primary key,
jobName nvarchar(20),
companyName nvarchar(20),
companyId int
)
go
insert into job(jobName,companyName,companyId) values('程序员','中部印刷网',null)
insert into job(jobName,companyName,companyId) values('美工','中部印刷网',null)
insert into job(jobName,companyName,companyId) values('软件工程师','睿智软件',null)
go--1
update job set companyId = (select id from company where names = t.companyName) from job t--2
update job set companyId = m.id
from job t , company m where t.companyName = m.namesselect * from job
/*
id jobName companyName companyId
----------- -------------------- -------------------- -----------
1 程序员 中部印刷网 1
2 美工 中部印刷网 1
3 软件工程师 睿智软件 2(所影响的行数为 3 行)
*/drop table company , job
from job b,company a
where b.companyName=a.names
create table company
(
id int identity primary key,
names nvarchar(20)
)insert into company values('中部印刷网')
insert into company values('睿智软件')create table job
(
id int identity primary key,
jobName nvarchar(20),
companyName nvarchar(20),
)insert into job values('程序员','中部印刷网')
insert into job values('美工','中部印刷网')
insert into job values('软件工程师','睿智软件')
--添加上一个公司id字段 companyId
alter table job add companyId int--将这个字段的值修改为对应公司表中的id
update j
set j.companyId=c.id
from job j
inner join company c
on j.companyName=c.names--结果
select * from jobid jobName companyName companyId
----------- -------------------- -------------------- -----------
1 程序员 中部印刷网 1
2 美工 中部印刷网 1
3 软件工程师 睿智软件 2(3 row(s) affected)
create table company
(
id int identity primary key,
names nvarchar(20)
)insert into company values('中部印刷网')
insert into company values('睿智软件')create table job
(
id int identity primary key,
jobName nvarchar(20),
companyName nvarchar(20),
)insert into job values('程序员','中部印刷网')
insert into job values('美工','中部印刷网')
insert into job values('软件工程师','睿智软件')
--添加上一个公司id字段 companyId
alter table job add companyId int--将这个字段的值修改为对应公司表中的id
update j
set j.companyId=c.id
from job j
inner join company c
on j.companyName=c.names--结果
select * from jobid jobName companyName companyId
----------- -------------------- -------------------- -----------
1 程序员 中部印刷网 1
2 美工 中部印刷网 1
3 软件工程师 睿智软件 2(3 row(s) affected)