黑马程序员技术交流社区

标题: sql server怎么把已有的表中的几行数据添加到一个新表中啊? [打印本页]

作者: 杨正    时间: 2012-7-13 18:03
标题: sql server怎么把已有的表中的几行数据添加到一个新表中啊?
sql server怎么把已有的表中的几行数据添加到一个新表中啊(sql语句)?已有的表中的任意几行,添加到新表中的任意几行。

(看清楚,不是列哦,我最害怕答非所问了,每次别人那样都会导致我深深地自卑——我的表达有这么差吗){:soso__8961432591078930798_3:}

作者: 苑占丽    时间: 2012-7-13 18:28
insert into table1 select * from table2 where 条件=几行数据所满足的条件

回复很短,希望对你有所帮助呀
作者: 杨正    时间: 2012-7-15 21:06
苑占丽 发表于 2012-7-13 18:28
insert into table1 select * from table2 where 条件=几行数据所满足的条件

回复很短,希望对你有所帮助 ...

不行啊,能不能说具体点呢。
作者: 苑占丽    时间: 2012-7-15 21:15
杨正 发表于 2012-7-15 21:06
不行啊,能不能说具体点呢。

条件就是那几行所满足的条件,比如你要想添加前5行

insert into table1 select  top 5 from table2 where  条件=//如果想再加点限制条件就要这句,然后写上条件,如果就是只导入前5行,那就不需要这句话了。。。。
作者: 杨正    时间: 2012-7-15 23:26
苑占丽 发表于 2012-7-15 21:15
条件就是那几行所满足的条件,比如你要想添加前5行

insert into table1 select  top 5 from table2 wher ...

我试了,但是不行,不过还是谢谢你了。
作者: 李朋霏    时间: 2012-7-16 00:38
如果表1和表2的列数和列名(甚至数据类型)不同,是没法实现这个问题的。
如果相同的话,
insert into 表2 (列1,列2,列3) select * from 表1 where ..
已经成功实验--- 把表1的内容插到了表2中

作者: 李朋霏    时间: 2012-7-16 00:54
经过实验  列名不一致也可以  但数据类型和列数必须一致!! 切记
作者: 朱永恒    时间: 2012-7-16 01:23
insert into Table_1(Name,Score) select * from Table_2  括号里是你要插入的列 要插入的值从是从表2查出 还可以自己加where条件
作者: 杨正    时间: 2012-7-16 11:21
李朋霏 发表于 2012-7-16 00:54
经过实验  列名不一致也可以  但数据类型和列数必须一致!! 切记

谢谢哈。我测试了,像你说的,列名可以不一样,但是数据类型和列数必须一样。
如果想插入多列,后面用in。
insert into Person(Person_Id_P,LastName,FirstName,Address,City,Year)
select * from Persons where FirstName in ('Thomas','Bill')
作者: 杨正    时间: 2012-7-16 11:23
朱永恒 发表于 2012-7-16 01:23
insert into Table_1(Name,Score) select * from Table_2  括号里是你要插入的列 要插入的值从是从表2查出  ...

谢谢。你写的语句可以实现。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2