27,579
社区成员
发帖
与我相关
我的任务
分享
create table 成绩表(姓名 varchar(4),科目 varchar(4),分数 varchar(10))
insert into 成绩表
select '张三','数学','90' union all
select '李四','数学','80' union all
select '王五','数学','70' union all
select '张三','语文','60' union all
select '李四','语文','50' union all
select '王五','语文','40' union all
select '赵六','数学','30' union all
select '赵六','语文','20'
create table 补考成绩表 (姓名 varchar(4),科目 varchar(4),分数 varchar(10))
insert into 补考成绩表
select '李四','语文','70' union all
select '王五','语文','75'
update 成绩表 set 分数 = '补及'
from 成绩表 m, 补考成绩表 n
where m.姓名 = n.姓名 and m.科目 = n.科目 and cast(n.分数 as int) >= 60
select * from 成绩表
/*
姓名 科目 分数
---- ---- ----------
张三 数学 90
李四 数学 80
王五 数学 70
张三 语文 60
李四 语文 补及
王五 语文 补及
赵六 数学 30
赵六 语文 20
(所影响的行数为 8 行)
*/
drop table 成绩表 , 补考成绩表
create table 成绩表(姓名 varchar(4),科目 varchar(4),分数 int)
insert into 成绩表
select '张三','数学',90 union all
select '李四','数学',80 union all
select '王五','数学',70 union all
select '张三','语文',60 union all
select '李四','语文',50 union all
select '王五','语文',40 union all
select '赵六','数学',30 union all
select '赵六','语文',20
create table 补考成绩表 (姓名 varchar(4),科目 varchar(4),分数 int)
insert into 补考成绩表
select '李四','语文',70 union all
select '王五','语文',75
update 成绩表 set 分数 = n.分数
from 成绩表 m, 补考成绩表 n
where m.姓名 = n.姓名 and m.科目 = n.科目
select * from 成绩表
/*
姓名 科目 分数
---- ---- -----------
张三 数学 90
李四 数学 80
王五 数学 70
张三 语文 60
李四 语文 70
王五 语文 75
赵六 数学 30
赵六 语文 20
(所影响的行数为 8 行)
*/
drop table 成绩表 , 补考成绩表
declare @成绩表 table (姓名 varchar(4),科目 varchar(4),分数 int)
insert into @成绩表
select '张三','数学',90 union all
select '李四','数学',80 union all
select '王五','数学',70 union all
select '张三','语文',60 union all
select '李四','语文',50 union all
select '王五','语文',40 union all
select '赵六','数学',30 union all
select '赵六','语文',20
declare @补考成绩表 table (姓名 varchar(4),科目 varchar(4),分数 int)
insert into @补考成绩表
select '李四','语文',70 union all
select '王五','语文',75
select a.*,b.科目 as 补及,b.分数 as 新分数 from @成绩表 a
left join @补考成绩表 b
on a.姓名=b.姓名
and a.科目=b.科目
/*
姓名 科目 分数 补及 新分数
---- ---- ----------- ---- -----------
张三 数学 90 NULL NULL
李四 数学 80 NULL NULL
王五 数学 70 NULL NULL
张三 语文 60 NULL NULL
李四 语文 50 语文 70
王五 语文 40 语文 75
赵六 数学 30 NULL NULL
赵六 语文 20 NULL NULL
*/