SQL从多个表创建表&列

时间:2014-10-30 09:57:42

标签: sql join multiple-columns ms-access-2013 multiple-tables

我试图创建一个表格" USAGEFACT"有4个表的多列。 我正在使用MS access 2013。 我得到的错误只是" CREATE TABLE"

中的语法错误

我正在使用的表是

FACT(Semester_ID,Class_ID)。
类(Class_ID,Class_Description)。
学期(Semester_ID,Semester_Description)。
学生(Student_ID,Class_ID)。

*这些不是这些表格中唯一的列

目前,我有以下不正确的查询:

create table USAGEFACT as 
(select c.CLASS_DESCRIPTION, s.SEMESTER_DESCRIPTION, st.TYPE, st.SEX 
from FACT, CLASS as c, SEMESTER as s, STUDENT as st 
where FACT.CLASS_ID = c.CLASS_ID 
and s.SEMESTER_ID = FACT.SEMESTER_ID 
and c.CLASS_ID = st.CLASS_ID);

我担心我需要使用连接。我想也许我可以创建一组2个临时表,每个表包含2个已连接的表,然后连接这2个临时表,每个临时表都是从其他2个表创建的。

深深感激。

1 个答案:

答案 0 :(得分:0)

在MS Access中,您无法使用CREATE TABLE as SELECTSELECT ... INTO语句

因此,我使用了明确的JOIN表示法来进一步阅读您的查询

试试这个:

SELECT c.CLASS_DESCRIPTION as CLASS_DESCRIPTION,
s.SEMESTER_DESCRIPTION as SEMESTER_DESCRIPTION,
st.[TYPE] as ST_TYPE, st.SEX as SEX
INTO USAGEFACT
FROM FACT
INNER JOIN CLASS as c
    ON FACT.CLASS_ID = c.CLASS_ID 
INNER JOIN SEMESTER as s
    ON s.SEMESTER_ID = FACT.SEMESTER_ID 
INNER JOIN STUDENT as st 
    ON c.CLASS_ID = st.CLASS_ID