2012-08-07 80 views
3

我想创建一个表并用记录填充它。新表应该被命名为majorlist,并且应该包括学生ID,学生姓名(首字母和姓氏连接在一起的空格),主要和每个学生的年龄(全年)。标记输出列SID,名称,主要和年龄。问题创建表

create table majorlist 
select studentid as 'SID' from students 
select concat(firstname,' ',lastname) as "name" from students 
select major as 'major' from students 
select round((datediff(now(),DOB))/365) as "age" from students; 

我知道这些作品中的每一个分别,但我无法弄清楚如何将它们整合成一个表格没有得到一个错误。我尝试从每一个删除选择的语句,但仍然无效。

回答

3
create table majorlist 
select studentid as 'SID', 
     concat(firstname,' ',lastname) as "name", 
     round((datediff(now(),DOB))/365) as "age" 
from students; 
1

是的,@juergen d的回答很好。您正在通过获取单个表值students来创建表。

那么它最好使用一个单一的select语句进行提取。您可以使用查询 -

create table majorlist 
    select studentid as 'SID', 
    concat(firstname,' ',lastname) as 'name',round((datediff(now(),DOB))/365) as 'age' 
    from students;