从ms-access数据库中选择一个具有链接表的列

时间:2014-08-08 12:11:33

标签: c# sql ms-access

我正在构建一个Windows窗体C#app。我使用oleDb将访问数据库链接到我的应用程序。问题是,我的访问数据库有两个表(学生,courseCodes)和一个"学生" table(courseName)链接到" courseCode" table(" courseCode"表包含课程代码,例如课程代码1是静态的,我在"学生"表中使用代码1来显示静态)现在当我想选择包含的列时静态使用

"SELECT DISTINCT courseName FROM students";

我得到了" 1"相反" Statics"有什么方法可以检索" Statics"相反" 1"?

1 个答案:

答案 0 :(得分:4)

我会说你的命名惯例具有误导性和混乱性。该列应该是courseIndex,而不是courseName。

当然可以加入(没有双关语)。此查询将返回给定学生已注册的不同课程名称。

select distinct courseCode.courseName
from student
join courseCode
on student.courseId = courseCode.id
where student.id = ?

请调整您的架构详细信息。

我个人认为这是一个糟糕的设计。学生可以注册许多课程,课程可以有很多学生。这是一种多对多的关系。你需要一个联接表;听起来你在这里只有一对外关键的一对多关系。