我正在构建Windows窗体C#应用程序。并且我使用oleDb将访问数据库链接到我的应用程序。问题是,我的访问数据库有两个表(学生,课程代码),“学生”表(courseName)的一列链接到“课程代码”表中的一个(“课程代码”表包含课程代码,例如课程代码) 1是静态的,当我想使用以下方式选择包含“静态”的列时,我现在在“学生”表中使用代码1来显示“静态”)
"SELECT DISTINCT courseName FROM students";
我得到了“ 1”而不是“ Statics”,有什么办法可以检索“ Statics”而不是“ 1”?
我会说您的命名约定令人误解和混乱。该列应该是courseIndex,而不是courseName。
当然,加入JOIN(无双关语)。该查询将返回给定学生已注册的不同课程名称。
select distinct courseCode.courseName
from student
join courseCode
on student.courseId = courseCode.id
where student.id = ?
请调整您的架构详细信息。
我个人认为这是一个糟糕的设计。一个学生可以报名参加许多课程,一门课程可以有很多学生。这是一个多对多的关系。您需要一个联接表;听起来您在这里只有一个外键一对多关系。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句