我目前正在开发一个类似于学校报告系统的VB.NET项目。为了这个问题,我想从3个表中检索数据。以下详细介绍了它们的字段......
var myJSON = '{ "name":"John", "age":31, "city":"New York" }';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
下图可能会有所帮助......
我现有的系统需要输入特定的SID。然后,我可以使用CT表的SELECT查询检索相应的CID和TargetGrade。另外,我可以为每个学生的CT检索CGrade和RNumber字段。
我面临的问题是设计我需要的查询,可以为每个学生的特定课程提供相应的CourseName,CGrade,TargetGrade和RNumber。我知道内部,右侧和左侧连接,但将其应用于3个表格被证明是一个挑战。任何建议都将不胜感激,我会对任何问题持开放态度。
谢谢大家。
答案 0 :(得分:2)
您将使用INNER JOIN在各自/共享密钥上将表连接在一起。如下所示:
SELECT
Students.StudentID,
Students.Studentname,
Courses.CourseName,
CoursesTakes.TargetGrade,
Reports.CurrentGrade,
Reports.ReportNumber
FROM
Students
INNER JOIN CoursesTakes ON Student.StudentID = CoursesTakes.StudentId
INNER JOIN Courses ON CoursesTakes.CourseID = Courses.CoursesID
INNER JION Reports ON CoursesTakes.TakeID = Reports.CourseTakeID
WHERE
Students.StudentID = <yourstudentid>
如果这不能回答问题,请分享一些示例数据和您想要的结果,以便我们了解您的数据结构。
答案 1 :(得分:0)
您可以尝试完全加入以检索所有记录:
select
Student.*, CourseTake.*, courses.*,Report.*
from
students
full join
CourseTake on Student.ID == CourseTake.StudentID
full join
Courses on Courses.id == CourseTake.StudentID
full join
Report on CourseTake.ID = CourseTake.Take ID