2011-05-06 54 views
0

下面是我的查询基本上那里有一个包含学生课程信息的studentsection表,这张表除了课程描述之外还有我需要的一切。这包含在课程表中。出于某种原因,我似乎无法只从studentsection表中获取条目,我尝试的每个查询都会从课程表中获取所有内容。任何帮助深表感谢!mysql加入不到期望的结果

select distinct studentid 
       , s.deptnum 
       , s.coursenum 
       , coursedesc 
       , sectionnum 
       , quarter 
       , grade 
      from studentsection c 
      left 
      join course c 
      on s.deptnum = c.deptnum 
      where exists(select deptnum from course) 
      order 
      by studentid 
       , quarter 
       , grade; 

这里是我的表定义:

create table StudentSection(
    studentID int, 
    deptNum char(4), 
    courseNum char(3), 
    sectionNum char(2), 
    quarter char(3), 
    grade varchar(1), 
    constraint studentSection_PK primary key(studentID, deptNum, courseNum, sectionNum, quarter), 
    constraint studentSection_section_FK foreign key (deptNum, courseNum, sectionNum, quarter) references Section(deptNum, courseNum, sectionNum, quarter) 
) 

CREATE TABLE Course (
    deptNum char(4), 
    courseNum char(3), 
    courseDesc varchar(50) NOT NULL, 
    creditHrs integer, 
    CONSTRAINT course_PK PRIMARY KEY (deptNum, courseNum), 
    CONSTRAINT course_department_FK FOREIGN KEY (deptNum) REFERENCES department(deptNum)) 

CREATE TABLE Section (
    deptNum  char(4), 
    courseNum char(3), 
    sectionNum char(2), 
    quarter  char(3), 
    instructor varchar(20), 
    CONSTRAINT section_PK PRIMARY KEY (deptNum, courseNum, sectionNum, quarter), 
    CONSTRAINT section_course_FK FOREIGN KEY (deptNum, courseNum) REFERENCES course(deptNum, courseNum)); 
+0

您是否加入正确的领域? 'deptnum'是'course'的'PRIMARY KEY'吗?你能否发表你的表格定义? – Quassnoi 2011-05-06 11:31:27

回答

0

我不知道如果我得到你的问题的权利,但你尝试了inner join

+0

是的,我尝试了所有不同的连接... – mespo365 2011-05-06 11:49:40