2012-08-07 4 views
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; 

나는 이들 각각의 작품을 별도로 알고 있지만 오류없이 테이블에 통합하는 방법을 알 수 없습니다. 내가 선택한 문장을 하나씩 제거하려고 노력하고있다.

답변

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;