SQL如何把查询的结果加入到一个新表中【这表还没有建立】
例如:请将“学生”表中的年龄大于18周岁的学生插入到“成年学生”表中
学生(学号,姓名,性别,出生日期)
成年学生这张表还没有建立一个语句可以实现吗?需要完成的就是将一个查询结果插入到一个还没有建立的表中,也就是我们的查询和建表以及插入这都在一条语句中实现这样可以吗?谢谢

解决方案 »

  1.   

    select *
    into 成年学生
    from 学生
    where 年龄>18
      

  2.   

    SELECT XX INTO newtablename
    FROM tableName
      

  3.   

    --还是帮你写一下吧
    select *
    into 成年学生
    from 学生
    where datediff(yy,出生日期,getdate())>18
      

  4.   

    那就不要用Select * into 成年学生 From 学生 where ...
    用Select [学生表列名a] [as] [成年学生表列名b], [].... into ... from ... where ...
      

  5.   

    --加字段名就替换*就可以了,下面只选取了两字段
    select 学号,姓名 into 成年学生
    from 学生
    where datediff(yy,出生日期,getdate())>18
      

  6.   

    select *
    into 成年学生
    from 学生
    where datediff(yy,出生日期,getdate())>18就是这样写的呀!!测试过的,没有问题呀!!
      

  7.   

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

  8.   

    比如我的:将课程号为1的学生的学号、姓名、成绩插入到行表学生选课中,同时成绩置0
    我写的代码如下:
    select 学号,课程号,0 
    into 学生选课
    from 选课
    where 课程号='1'这样的对吗?运行的时候他说:没有为第 3 列(属于 '学生选课')指定列。
    这到底是为什么啊?
      

  9.   

    select 学号,课程号,0  as [成绩]
    into 学生选课
    from 选课
    where 课程号='1'
      

  10.   

    插入到行表学生选课,你这里插入,不能再select into了
    insert 学生选课(学号,姓名,成绩) 
    select 学号,课程号,0 from 学生
      

  11.   

    SELECT 要插入的数据 INTO 表 WHERE 条件
      

  12.   

    select 学号,课程号,0 as 成绩 into 学生选课 from 学生
      

  13.   

    select 学生属性1,学生属性2,学生属性3,学生属性4 ……
    into 成年学生
    from 学生
    where 年龄>18
      

  14.   

    你是想要在内存中建立临时表呢?还是建立以个真实的表呢?
       SELECT *  INTO #temp FROM dbo.students WHERE age>18 
    这句话创建的是临时表执行之后只会在内存中存在并创建实际的表。   
       SELECT * INTO adultStudent FROM dbo.students WHERE age>18
    这句话创建的是实际的表执行后会在内存中创建一个真实的表。
    不过这两种方式都只能执行一次,第二次执行时要把之前建立的表给DROP掉,否则会报错的。