问了这么多人都不会

Mr.Z 2011-06-08 04:42:36
SQL如何把查询的结果加入到一个新表中【这表还没有建立】
例如:请将“学生”表中的年龄大于18周岁的学生插入到“成年学生”表中
学生(学号,姓名,性别,出生日期)
成年学生这张表还没有建立

一个语句可以实现吗?

需要完成的就是将一个查询结果插入到一个还没有建立的表中,也就是我们的查询和建表以及插入这都在一条语句中实现

这样可以吗?谢谢
...全文
157 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr.Z 2011-06-11
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 cd731107 的回复:]
select 学号,课程号,0 as 成绩 into 学生选课 from 学生
[/Quote]
谢谢,终于大功告成了
康派尔 2011-06-10
  • 打赏
  • 举报
回复
不好意思错了,临时表不创建!
康派尔 2011-06-10
  • 打赏
  • 举报
回复
你是想要在内存中建立临时表呢?还是建立以个真实的表呢?
SELECT * INTO #temp FROM dbo.students WHERE age>18
这句话创建的是临时表执行之后只会在内存中存在并创建实际的表。
SELECT * INTO adultStudent FROM dbo.students WHERE age>18
这句话创建的是实际的表执行后会在内存中创建一个真实的表。
不过这两种方式都只能执行一次,第二次执行时要把之前建立的表给DROP掉,否则会报错的。
jxqn_liu 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sekai2011 的回复:]

鄙视标题党。。。
[/Quote]


select 学生属性1,学生属性2,学生属性3,学生属性4 ……
into 成年学生
from 学生
where 年龄>18
cd731107 2011-06-10
  • 打赏
  • 举报
回复
select 学号,课程号,0 as 成绩 into 学生选课 from 学生
Mr.Z 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 renwenli07461 的回复:]
SELECT 要插入的数据 INTO 表 WHERE 条件
[/Quote]

兄弟,似乎没有那么简单
renwenli07461 2011-06-10
  • 打赏
  • 举报
回复
SELECT 要插入的数据 INTO 表 WHERE 条件
Mr.Z 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 cd731107 的回复:]
引用 17 楼 jjcxd 的回复:
引用 16 楼 abcjun188 的回复:

SQL code
select 列1,列2 .... into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18

比如我的:将课程号为1的学生的学号、姓名、成绩插入到行表学生选课中,同时成绩置0
我写的代码如下:
select 学号,课程号,……
[/Quote]

这样会出现 对象名 '学生选课' 无效
cd731107 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 jjcxd 的回复:]
引用 16 楼 abcjun188 的回复:

SQL code
select 列1,列2 .... into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18

比如我的:将课程号为1的学生的学号、姓名、成绩插入到行表学生选课中,同时成绩置0
我写的代码如下:
select 学号,课程号,0
into 学生选课
from ……
[/Quote]
插入到行表学生选课,你这里插入,不能再select into了
insert 学生选课(学号,姓名,成绩)
select 学号,课程号,0 from 学生
playwarcraft 2011-06-10
  • 打赏
  • 举报
回复
select 学号,课程号,0 as [成绩]
into 学生选课
from 选课
where 课程号='1'
Mr.Z 2011-06-10
  • 打赏
  • 举报
回复
没人回答我啊
Mr.Z 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qianjin036a 的回复:]
你问过哪些人了?
[/Quote]
我是真的问了很多人啊,大哥,也是都不会啊,特别是不建立新表,还有关于置0,还有就是置0的时候没有属性名,至少我一个寝室的人都不会啊
Mr.Z 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 abcjun188 的回复:]

SQL code
select 列1,列2 .... into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18
[/Quote]
比如我的:将课程号为1的学生的学号、姓名、成绩插入到行表学生选课中,同时成绩置0
我写的代码如下:
select 学号,课程号,0
into 学生选课
from 选课
where 课程号='1'

这样的对吗?运行的时候他说:没有为第 3 列(属于 '学生选课')指定列。
这到底是为什么啊?
打一壶酱油 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jjcxd 的回复:]
引用 3 楼 xyc880813 的回复:
如果成年学生表和学生表的表结构一样的话
楼上正解

如果只有一部分属性呢?
[/Quote]
select 列1,列2 ....   into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18
draling 2011-06-08
  • 打赏
  • 举报
回复
select *
into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18

就是这样写的呀!!测试过的,没有问题呀!!
ly745455 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sekai2011 的回复:]
鄙视标题党。。。
[/Quote]
~~~~同感啊
xyc880813 2011-06-08
  • 打赏
  • 举报
回复
明显是钓鱼
哎 我又上当了
aier3333 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qianjin036a 的回复:]
你问过哪些人了?
[/Quote] 同问
qgqch2008 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qianjin036a 的回复:]

你问过哪些人了?
[/Quote]我也想知道
sekai2011 2011-06-08
  • 打赏
  • 举报
回复
鄙视标题党。。。
加载更多回复(9)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧