oracle 一个表a_temp查询的数据插入insert到另一个表a中,a表中还需要手动插入一列值,这sql语句怎么写?
1个回答
展开全部
插入的那列值有变化么?如果有,那可能要做一张临时表将这些值录进去,然后再通过关联去插入。
如果没有,那么可以直接写的
比如
A表 id name sex age
B表 id name age
假设这里只有男人sex的值都是1
那么就是
insert into A(id,name,sex,age) select id,name,1,age from B
这些字段要意义对应起来,对应顺序不能乱,但是排列可以乱
比如:
insert into A(id,name,age,sex) select id,name,age,1 from B
但是如果sex的值有1和2,那么就不能这么做了,因为你要判断,哪个填1,哪个填2.,可能还要做一张临时表C
id sex (这里的id和B表中的id对应)
那么就有
insert into A(id,name,age,sex) select B.id,b.name,b.age,c.sex from B,C where b.id=c.id
如果没有,那么可以直接写的
比如
A表 id name sex age
B表 id name age
假设这里只有男人sex的值都是1
那么就是
insert into A(id,name,sex,age) select id,name,1,age from B
这些字段要意义对应起来,对应顺序不能乱,但是排列可以乱
比如:
insert into A(id,name,age,sex) select id,name,age,1 from B
但是如果sex的值有1和2,那么就不能这么做了,因为你要判断,哪个填1,哪个填2.,可能还要做一张临时表C
id sex (这里的id和B表中的id对应)
那么就有
insert into A(id,name,age,sex) select B.id,b.name,b.age,c.sex from B,C where b.id=c.id
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询