sql 表A、表B字段相同,判断2个表中id、age都相同时,将B表的其他字段数据更新到A表中

sql 表A、表B字段相同,判断2个表中id、age都相同时,将B表的其他字段数据更新到A表中。
当id、age中有一个数值不同,将这条信息插入到A表中
例:
表A 表B
id name age number id name age number
1 张三 20 123456 1 张三 20 654321
2 李思 19 234567 2 李想 20 234467
3 李思思 19 562389
4 李思 21 123456
执行后
id name age number
1 张三 20 654321
2 李思 19 234567
2 李想 20 234467
3 李思思 19 562389
4 李思 21 123456

如何写sql语句

UPDATE A SET A.phone = B.phone
FROM TestA A
JOIN TestB B
ON A.ID = B.ID and A.age =B.age
INSERT INTO TestA(ID,age,name,phone)
Select B.ID,B.age,B.name,B.phone
FROM TestB B
LEFT JOIN TestA A ON B.ID=A.ID AND B.age=A.age
Where A.phone is null
/*
使用LEFT JOIN 将B表中的所有资料取出
因为 ON 使用的是 ID与age必须全部相等,
所以用Where A.phone is null 将其中有任何一项不等的取出,过滤掉全等的项
*/
温馨提示:内容为网友见解,仅供参考
无其他回答

...age都相同时,将B表的其他字段数据更新到A表中
JOIN TestB B ON A.ID = B.ID and A.age =B.age INSERT INTO TestA(ID,age,name,phone)Select B.ID,B.age,B.name,B.phone FROM TestB B LEFT JOIN TestA A ON B.ID=A.ID AND B.age=A.age Where A.phone is null \/ 使用LEFT JOIN 将B表中的所有资料取出 因为 ON 使用的是...

sql A表B表项目相同 将B表同ID 数据与A表同ID数据相加存到A表中
update A set 业绩1 = (select (业绩1+A.业绩1) from B where id = A.id),业绩2 = (select (业绩2+A.业绩2) from B where id = A.id),业绩3 = (select (业绩3+A.业绩3) from B where id = A.id)

sql问题 A表 B表 查出两表都有的记录 并把B的某个字段记录赋值给A
假设A表ID与B表ID相同即认为A,B都存在 将b表NAME赋予A表NAME中 查询A表 B表 查出两表都有的记录 select * from A where exists (select 1 from B where A.ID= B.ID)修改赋值 update A set A.name= (select b.name from B where A.ID= B.ID)where exists (select 1 from B ...

用SQL语句进行两表比对,A表含了一部分B表的名字(某字段的部分内容相同...
既然是部分内容,总要有个规律的,没有规律你写什么

sql一个数据库中两个表结构类似,查出相同字段的内容怎么在一个表中删 ...
需要用连接查询来处理。如有以下2张表:查询2张表id和name字段内容完全相同的内容,可用如下语句:select a.* from test a,test1 b where a.id=b.id and a.name=b.name;结果:说明,两表连接where条件要写上关联条件,因为提问是两个字段完全相等,所以就写作:a.id=b.id and a.name=b....

两个数据表A和B 当A表的id和B表的id相等时将A表中的name字段值插入到B...
update B set B.name=A.name from A where A.id=b.id

SQL语句如何将B表某个字段的数据插入到A表中相同字段下面?
如果表A存在:insert into 表A(字段1,字段2) select 字段1,字段2 from 表B where如果表A不存在(新建一个表A)select 字段1,字段2 into 表A from 表B where 注意插入a的相应列名时取b值也要相对应。select name from syscolumns where id in (select id from sysobjects where type = 'u' ...

SQL查询两个表一个列,当该列数据相等时,将A表另一列的字串以逗号分隔连...
if not object_id('Tempdb..#T') is null drop table #T Go Create table #T([ID] nvarchar(10),[Name] nvarchar(10))Insert #T select N'c',N'xx' union all select N'b',N'xy' union all select N'b',N'xt' union all select N'a',N'xe'Create table #D([ID] nvarchar...

SQL数据库中有两张表,当a表中的id更新以后,b表的id也要同步更新,并且b...
用触发器,当主表a id更改,同时更改b 表id,然后更新字段

当前2个数据库a,b,a中的表跟b中表字段结构相同,如何将a库中表中的记 ...
导出成SQL文件,如果A的ID字段没有重复,直接插入。如果有重复,那就SQL语句。update id = id+"A或B中的最大ID";

相似回答