SQL insert into select 语句 需要一次插多条

比如 A表有20个字段 B表有5个字段(有5条记录)
把B表字段的值插入A表中 (字段要对应哦!!)
在这先谢谢大神了!

insert into select
语句功能是从一个表格中读取数据,插入另一个表格。
所以,select 子句的结果集是多条记录,那插入的就是多条。

例 :insert into table_b(a,b) select a,b from table_a;
如果table_a中有多条记录,那都会一起插入 table_b中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-20
INSERT INTO A表(字段1,字段2,字段3,字段4,字段5)
SELECT 字段1,字段2,字段3,字段4,字段5
FROM B表
WHERE 条件追问

两个表的顺序是不对的
A表的 name 在第8个
B表的name 在 第2 个

咋整

追答

INSERT INTO A表(name,字段2,字段3,字段4,字段5)
SELECT name,字段2,字段3,字段4,字段5
FROM B表
WHERE 条件

这样不就对应起来啦吗,其他字段原理相同。

追问

INSERT INTO A表(name,0,'asd',addmin,字段3,字段4,字段5)
SELECT @name,@addmin,字段3,字段4,字段5
FROM B表
WHERE 条件
对不(我用的是存储过程)

追答

不对,为什么不直接用查询语句呢?你把你的具体思路告诉我,我来给你写。

追问

就是 A表有20个字段 B表有5个字段(B表有5条记录)
把B表字段的值插入A表中 (A表中有些字段跟B表中不同的只需要手写(死的)就行了)

追答

INSERT INTO A表(name,字段2,字段3,字段4,字段5,字段6,字段7)
SELECT name,字段2,字段3,字段4,字段5,0,'asd'
FROM B表
WHERE 条件

这个语句A表中前五个字段和B表中的字段一一对应,字段6和字段7用固定值0和asd填充。

本回答被提问者采纳
相似回答
大家正在搜