首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL中合并来自多个表的数据

如何在SQL中合并来自多个表的数据
EN

Stack Overflow用户
提问于 2011-04-07 03:40:26
回答 3查看 24.5K关注 0票数 3

我想我的处境很复杂。这是现场。

我在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中进行。

任何营救的人!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-07 03:47:16

用一个连接。

代码语言:javascript
复制
select enrollment.*, student.*, course.* from enrollment
   inner join Student on enrollment.studentId = student.studentId
   inner join Course on enrollment.courseId = course.courseId
票数 17
EN

Stack Overflow用户

发布于 2011-04-07 03:46:43

实际上,数据模型中有外键。它们可能在db中没有被标记为这样,或者您没有意识到。我还认为,如果你把招生表放在第二位,介于学生和课程之间,那就更清楚了。注册是将学生与课程联系起来的表格。

我想你只想在这三张桌子上放一个内连接,就像这样:

代码语言:javascript
复制
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
票数 7
EN

Stack Overflow用户

发布于 2011-04-07 03:46:40

尝试:

代码语言:javascript
复制
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.CourseId
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5575682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档