22,209
社区成员
发帖
与我相关
我的任务
分享
use test
go
创建数据表
create table A
(
id int,
车次 char(5),
起点 char(9),
终点 char(9)
)
--插入测试数据
insert into A select 1,'k100','hangzhou','shanghai'
union all select 2,'k300','hangzhou','beijing'
union all select 3,'D50','guangzhou','shanghai'
union all select 4,'L80','shanghai','beijing'
-- 创建数据表
create table B
(
城市名称 char(5),
城市编码 char(9)
)
--插入测试数据
insert into B select '杭州','hangzhou'
union all select '上海','shanghai'
union all select '北京','beijing'
union all select '广州','guangzhou'
go
代码实现
update A
set 起点 = (select 城市名称 from b where 城市编码 = a.起点),
终点 = (select 城市名称 from b where 城市编码 = a.终点)
select * from A
/*
id 车次 起点 终点
-----------------------------
1 k100 杭州 上海
2 k300 杭州 北京
3 D50 广州 上海
4 L80 上海 北京
*/
create table a(id int,车次 varchar(10), 起点 varchar(20), 终点 varchar(20))
insert into a values(1 ,'k100' ,'hangzhou' ,'shanghai')
insert into a values(2 ,'k300' ,'hangzhou' ,'beijin')
insert into a values(3 ,'D50' ,'guangzhou' ,'shanghai')
insert into a values(4 ,'L80' ,'shanghai' ,'beijin')
create table b(城市名称 varchar(20) , 城市编码 varchar(20))
insert into b values('杭州', 'hangzhou')
insert into b values('上海', 'shanghai')
insert into b values('北京', 'beijin')
insert into b values('广州', 'guangzhou')
go
update A
set 起点 = (select top 1 城市名称 from b where 城市编码 = a.起点 order by 城市名称),
终点 = (select top 1 城市名称 from b where 城市编码 = a.终点 order by 城市名称)
from A
select * from a
drop table a , b
/*
id 车次 起点 终点
----------- ---------- -------------------- --------------------
1 k100 杭州 上海
2 k300 杭州 北京
3 D50 广州 上海
4 L80 上海 北京
(所影响的行数为 4 行)
*/
create table a(id int,车次 varchar(10), 起点 varchar(20), 终点 varchar(20))
insert into a values(1 ,'k100' ,'hangzhou' ,'shanghai')
insert into a values(2 ,'k300' ,'hangzhou' ,'beijin')
insert into a values(3 ,'D50' ,'guangzhou' ,'shanghai')
insert into a values(4 ,'L80' ,'shanghai' ,'beijin')
create table b(城市名称 varchar(20) , 城市编码 varchar(20))
insert into b values('杭州', 'hangzhou')
insert into b values('上海', 'shanghai')
insert into b values('北京', 'beijin')
insert into b values('广州', 'guangzhou')
go
update a set 起点=(select 城市名称 from b where 城市编码=起点),
终点=(select 城市名称 from b where 城市编码=终点)
select * from a
id 车次 起点 终点
----------- ---------- -------------------- --------------------
1 k100 杭州 上海
2 k300 杭州 北京
3 D50 广州 上海
4 L80 上海 北京
(4 行受影响)
create table a(id int,车次 varchar(10), 起点 varchar(20), 终点 varchar(20))
insert into a values(1 ,'k100' ,'hangzhou' ,'shanghai')
insert into a values(2 ,'k300' ,'hangzhou' ,'beijin')
insert into a values(3 ,'D50' ,'guangzhou' ,'shanghai')
insert into a values(4 ,'L80' ,'shanghai' ,'beijin')
create table b(城市名称 varchar(20) , 城市编码 varchar(20))
insert into b values('杭州', 'hangzhou')
insert into b values('上海', 'shanghai')
insert into b values('北京', 'beijin')
insert into b values('广州', 'guangzhou')
go
update A
set 起点 = (select 城市名称 from b where 城市编码 = a.起点),
终点 = (select 城市名称 from b where 城市编码 = a.终点)
select * from a
drop table a , b
/*
id 车次 起点 终点
----------- ---------- -------------------- --------------------
1 k100 杭州 上海
2 k300 杭州 北京
3 D50 广州 上海
4 L80 上海 北京
(所影响的行数为 4 行)
*/
update
A
set
起点 = (select 城市名称 from b where 城市编码 = a.起点),
终点 = (select 城市名称 from b where 城市编码 = a.终点)
create table a(id int,车次 varchar(10), 起点 varchar(20), 终点 varchar(20))
insert into a values(1 ,'k100' ,'hangzhou' ,'shanghai')
insert into a values(2 ,'k300' ,'hangzhou' ,'beijin')
insert into a values(3 ,'D50' ,'guangzhou' ,'shanghai')
insert into a values(4 ,'L80' ,'shanghai' ,'beijin')
create table b(城市名称 varchar(20) , 城市编码 varchar(20))
insert into b values('杭州', 'hangzhou')
insert into b values('上海', 'shanghai')
insert into b values('北京', 'beijin')
insert into b values('广州', 'guangzhou')
go
update A
set 起点 = (select 城市名称 from b where 城市编码 = a.起点),
终点 = (select 城市名称 from b where 城市编码 = a.终点)
from A
select * from a
drop table a , b
/*
id 车次 起点 终点
----------- ---------- -------------------- --------------------
1 k100 杭州 上海
2 k300 杭州 北京
3 D50 广州 上海
4 L80 上海 北京
(所影响的行数为 4 行)
*/
update A set
起点 = (select 城市名称 from b where 城市编码 = a.起点),
终点 = (select 城市名称 from b where 城市编码 = a.终点)