嵌套查询问题

时间:2018-03-21 21:54:33

标签: mysql sql

我有两个表,一个NextOfKin表和一个Course表,NextOfKin表具有以下属性:

StudentID 
ContactTelNo

课程有这个(只显示相关属性):

CourseNo

我正在尝试输出一个输出,其中我显示学生ID和contactTelNo为当然所有学生的近亲,当然不等于1001。 这是我试图运行的代码

SELECT studentID, contactTelNo
FROM NextOfKin
WHERE courseNo =
(SELECT courseNo
FROM Course
WHERE courseNo = '1001')

我目前收到一条错误消息“在'where子句'中显示”Unkown coloumn'courseNo'

我哪里错了?

p.s我只能使用嵌套查询而不能使用连接

2 个答案:

答案 0 :(得分:0)

假设Ext.application({ name : 'Fiddle', launch : function() { Ext.Viewport.add({ xtype: 'textfield', validators: { fn: function(v) { return v === 'abc' || 'Value must be abc' } } }); } }); 也有fun sqsum(lst) = map (fn x => x*x) lst; 列,您需要这样:

Course

如果StudentID 列有SELECT NextOfKin.studentID, NextOfKin.contactTelNo FROM NextOfKin INNER JOIN Course ON Course.StudentID = NextOfKin.StudentID WHERE Course.courseNo ='1001' 列,那么您正在查看错误的表格。在某处,您将拥有一个包含CourseStudentID值列的表格。它可能被称为StudentIDCourseNo

答案 1 :(得分:0)

子查询需要返回学生ID,而不是课程编号,因为这就是NextOfKin表中的内容。您需要使用IN而不是=来检查集合中的成员资格:

SELECT studentID, contactTelNo
FROM NextOfKin
WHERE studentID IN 
    (SELECT studentID
    FROM Course
    WHERE courseNo = '1001')