为了账号安全,请及时绑定邮箱和手机立即绑定

sql语句,两个表ID和值的关联

/ 猿问

sql语句,两个表ID和值的关联

qq_伽利略扭秤_0 2017-08-23 12:13:21

第一个表里存的都是第二个表的ID,根据ID不同,在第二个表中提取数据

通过select把第二个表的数据填到第一个表里。

第二个表里有好多id值,对应不同的信息

第一个表里有不同的字段但他们对应的都是第二个表里的id

需要最终select的结果是把第一个表里的id都替换成对应在第二个表里的信息

查看完整描述

2 回答

已采纳
?
书林路
------------------------------------建立的两个变量表
declare @table1 table
(id int,
info varchar(10))
declare @table2 table
(id int,
info varchar(10))
insert into @table1 values('1',''),('2','')
insert into @table2 values('1','信息1'),('2','信息2')
-----------------------------------------------------

--替换前状态
select id,info as info1 from @table1		--表1
select id,info as info2 from @table2		--表2

--通过update子句将@table2的信息填充到@table1中
update @table1 set info=cc2.info 
from @table1 as cc1,@table2 as cc2 where cc1.id=cc2.id

--替换后的状态
select id,info as info1 from @table1		--表1
select id,info as info2 from @table2		--表2

将这段代码全部执行,结果中前两个表是执行前状态,末两张表是执行update 子句后的状态,cc1和cc2是两个表别名,这里的用法类似于内关联 inner join。

解释的意思是:

当where 子句的条件满足cc1表中的id和cc2表中的id,就将cc2表的info列的内容更新到cc1表中

查看完整回答
反对 回复 2017-08-25
?
qq_嫣雨薇笑_03238412


update  tb1  inner join  tb2   on  tb1.id=tb2.id  set tb1.id = tb2.name;


查看完整回答
1 反对 回复 2017-08-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信