问题创建表

时间:2012-08-07 11:43:36

标签: mysql

我想创建一个表并用记录填充它。新表应该命名为majorlist,并且应该包括学生ID,学生姓名(姓名与其间的空格连接的名字和姓氏),主要年龄和每个学生的年龄(全年)。标记输出列SID,Name,Major和Age。

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;

我知道这些中的每一个都单独工作,但我无法弄清楚如何将它们集成到表中而不会出现错误。我尝试从每个中移除选择的状态,但仍然无效。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

然后最好使用单个select语句进行提取。您可以使用像

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