【问题标题】:selecting a column from ms-access database which has linked tables从具有链接表的 ms-access 数据库中选择一列
【发布时间】:2014-08-08 12:11:33
【问题描述】:

我正在构建一个 Windows 窗体 C# 应用程序。我使用 oleDb 将访问数据库链接到我的应用程序。问题是,我的访问数据库有两个表(students,courseCodes),并且“students”表(courseName)的一列链接到“courseCode”表中的一个(“courseCode”表包含课程代码,例如课程代码1 是静态的,当我想使用

选择包含静态的列时,我现在使用“学生”表中的代码 1 来显示静态)
"SELECT DISTINCT courseName FROM students";

我得到的是“1”而不是“静态”有没有办法检索“静态”而不是“1”?

【问题讨论】:

    标签: c# sql ms-access


    【解决方案1】:

    我想说您的命名约定具有误导性和混淆性。该列应该是 courseIndex,而不是 courseName。

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

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

    请根据您的架构详细信息进行调整。

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

    【讨论】:

    • 非常感谢 duffymo,你说的太对了,我会在我的设计中考虑这一点,谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2016-09-14
    • 2023-03-12
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    相关资源
    最近更新 更多