林创建一个数据库,它具有如下表&下列:MySQL的选择从多个表
- 学生 - (studentId,studentName,度)
- 模块 - (的moduleId,MODULENAME,信用)
- 注册 - (studentId,的moduleId)
- 员工 - (STAFFID是,staffName,等级)
- 教 - (STAFFID是,MODULENAME)
我想要从搜索中搜索由某个导师教授的模块。
因此,例如,如果詹姆斯威尔金森正在教英语和数学,它将显示模块ID教他的模块结果。
林创建一个数据库,它具有如下表&下列:MySQL的选择从多个表
我想要从搜索中搜索由某个导师教授的模块。
因此,例如,如果詹姆斯威尔金森正在教英语和数学,它将显示模块ID教他的模块结果。
试试这个:
select Module.Moduleid from Module inner join Teaches on Teaches.ModuleName=Module.ModuleName inner join staff on Staff.staffid=teaches.staffid where staff.staffname='James Wilkinso'
反正小圆出错了结构。表教程应该有一个moduleID字段,而不是ModuleName。
希望这有助于
对不起,它是moduleId – lparry1992
有没有办法通过没有连接来实现这一点? – lparry1992
不,我知道。为什么?当然你也可以做一个小程序来做同样的事情,但我没有理由这么做。 – ericpap
似乎是一个简单的加入给我。需要
SELECT staffName, moduleName
FROM Staff a
JOIN teaches b on a.staffId=b.staffId
;
select module.module_id , module.module_name, teaches.staff_id from module
INNER JOIN on module.module_name = teaches.module_name
where teaches.staff_id in
(select staff_id from staff where staff.staffname='James Wilkinson')
简单连接,请张贴在那里你才帮你得到stucked。 –
我所有的都是搜索所有指定的表,哪些列,最后是哪里。但它带来了大量的结果。但加入失踪 – lparry1992
我现在试图查看由某些导师教授的学生。我没有得知我如何才能使其工作。 SELECT student.studentId,student.studentName FROM student INNER JOIN教导ON teachhes.moduleId = module.moduleId INNER JOIN staff ON staff.staffId = teaches.staffId WHERE staff.staffName ='alan turing'; – lparry1992