Insert into a(xh) select id from b where xh in (select xh from b)
想实现 把b表里的id字段插入到a表的xh字段,当b表的序号=a表的序号时
5 个解决方案
#1
update a inner join b on a.xh=b.xh set a.id=b.xh
有点看不懂你的 "把b表里的id字段插入到a表的xh字段,当b表的序号=a表的序号时"
既然 b表的序号=a表的序号 ,然后再把 b.id 放到 a.xh 中?
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
#2
Insert into a(xh)
select id from b inner join a on b.xh=a.id
select id from b inner join a on b.xh=a.id
#3
我的表结构是这样子的
b表
id AotoInt
xh integer
a表
id aotoint
xh integer
......
当a表的xh=b表的xh时, 用b表的id替换a表的xh
比如说 b表
id xh
1 5
2 8
3 100
4 102
5 201
.....
a 表
id xh ......
1 5
100 8
123 100
11 102
123 201
.... .....
执行后, a 表变成
id xh ......
1 1
100 2
123 3
11 4
123 5
... ....
....
b表
id AotoInt
xh integer
a表
id aotoint
xh integer
......
当a表的xh=b表的xh时, 用b表的id替换a表的xh
比如说 b表
id xh
1 5
2 8
3 100
4 102
5 201
.....
a 表
id xh ......
1 5
100 8
123 100
11 102
123 201
.... .....
执行后, a 表变成
id xh ......
1 1
100 2
123 3
11 4
123 5
... ....
....
#4
我说的不太清楚,不过你们的方法可以,谢谢了
#5
update a inner join b on a.xh=b.xh set a.id=b.xh或
update a inner join b on a.xh=b.xh set a.id=a.xh
或者
update a set a.id=a.xh where exists (select id from b where xh=a.xh)
update a set a.id=a.xh where xh in (select xh from b)
#1
update a inner join b on a.xh=b.xh set a.id=b.xh
有点看不懂你的 "把b表里的id字段插入到a表的xh字段,当b表的序号=a表的序号时"
既然 b表的序号=a表的序号 ,然后再把 b.id 放到 a.xh 中?
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
#2
Insert into a(xh)
select id from b inner join a on b.xh=a.id
select id from b inner join a on b.xh=a.id
#3
我的表结构是这样子的
b表
id AotoInt
xh integer
a表
id aotoint
xh integer
......
当a表的xh=b表的xh时, 用b表的id替换a表的xh
比如说 b表
id xh
1 5
2 8
3 100
4 102
5 201
.....
a 表
id xh ......
1 5
100 8
123 100
11 102
123 201
.... .....
执行后, a 表变成
id xh ......
1 1
100 2
123 3
11 4
123 5
... ....
....
b表
id AotoInt
xh integer
a表
id aotoint
xh integer
......
当a表的xh=b表的xh时, 用b表的id替换a表的xh
比如说 b表
id xh
1 5
2 8
3 100
4 102
5 201
.....
a 表
id xh ......
1 5
100 8
123 100
11 102
123 201
.... .....
执行后, a 表变成
id xh ......
1 1
100 2
123 3
11 4
123 5
... ....
....
#4
我说的不太清楚,不过你们的方法可以,谢谢了
#5
update a inner join b on a.xh=b.xh set a.id=b.xh或
update a inner join b on a.xh=b.xh set a.id=a.xh
或者
update a set a.id=a.xh where exists (select id from b where xh=a.xh)
update a set a.id=a.xh where xh in (select xh from b)