3

我想创建一个表并用记录填充它。新表应命名为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;

我知道这些中的每一个都是单独工作的,但我不知道如何将它们集成到一个表中而不会出错。我尝试从每个语句中删除选择语句,但仍然不起作用。

4

2 回答 2

3
create table majorlist 
select studentid as 'SID',
       concat(firstname,' ',lastname) as "name", 
       round((datediff(now(),DOB))/365) as "age" 
from students;
于 2012-08-07T11:47:50.720 回答
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;
于 2012-08-07T12:34:31.307 回答