我想我的处境很复杂。这是现场。
我在Server中有3个表。
招生,学生,课程。(FYI,没有外键)
表列是
学生- StudentId,StudentName
课程- CourseId,CourseName
- EnrollmentId,StudentId,CourseId,CourseResult
样本数据
学生- s1,Sid
课程- c1,科学
注册- 1,s1,c1,80
我想要一个SQL查询,它选择如下所示的数据
1,s1,Sid,c1,Science,80
我在DAL层做了很多次调用数据库的工作。但是想要在一个调用和DB中进行。
任何营救的人!
发布于 2011-04-07 03:47:16
用一个连接。
select enrollment.*, student.*, course.* from enrollment
inner join Student on enrollment.studentId = student.studentId
inner join Course on enrollment.courseId = course.courseId发布于 2011-04-07 03:46:43
实际上,数据模型中有外键。它们可能在db中没有被标记为这样,或者您没有意识到。我还认为,如果你把招生表放在第二位,介于学生和课程之间,那就更清楚了。注册是将学生与课程联系起来的表格。
我想你只想在这三张桌子上放一个内连接,就像这样:
SELECT e.EnrollmentId, s.StudentId, c.CourseId, c.CourseName, e.CourseResult
FROM Student AS s
JOIN Enrollment AS e ON s.StudentId = e.StudentId
JOIN Course AS c on e.CourseId = c.CourseId发布于 2011-04-07 03:46:40
尝试:
SELECT e.EnrollmentId, s.StudentId, s.StudentName, c.CourseId, c.CourseName, e.CourseResult
FROM Student s JOIN
Enrollment e ON s.StudentId = e.StudentId JOIN
Course c ON e.CourseId = c.CourseIdhttps://stackoverflow.com/questions/5575682
复制相似问题