【问题标题】:MS Access duplicationMS Access 复制
【发布时间】:2023-03-08 17:24:01
【问题描述】:

我在 MS Access 中的查询重复了它的错误。数据是从 Windows 窗体应用程序输入的,并且数据位于两个单独的表中。我正在使用基本查询来显示表中的每一行。名称表和分数表。

现在的问题是数据在自我复制。

Image of the access table

这是 SQL 查询:

SELECT DISTINCT score.score, name.Name
FROM name, score;

Table Schema

我可以使用什么 SQL 代码来阻止重复错误?

提前致谢

【问题讨论】:

  • 您的查询中没有连接条件,因此此连接用作交叉连接。请使用连接条件来连接这些表。
  • 它是交叉连接,因此您将获得 n*n 记录作为输出。
  • 你的分数表中必须有一个引用列来引用名称表。
  • @mahdi research "Foreign Key" - 基本上你需要将你引用的记录的 ID 添加到你的基本记录中
  • 用关键字段关联表是关系数据库设计的最基本概念。 mariadb.com/kb/en/introduction-to-relational-databases。任何介绍性教程书都应在第一章中涵盖该内容。你可能会从一个充实的一周中受益。

标签: sql ms-access


【解决方案1】:

需要在分数表中添加一个长整数字段StudID,然后进行数据输入以将适当的学生标识符值添加到每个分数记录中。这将在可用于查询的表之间建立主键/外键关系,并在键字段上使用 LEFT 或 RIGHT JOIN。

这假设一个学生可以有多个分数(为了什么?)。如果可以有多个分数,那么可能还需要一个日期字段ScoreDate,然后可能应该是一个Subject 字段。

如果学生只能有 1 个分数,则不需要分数表 - 在学生表中有一个字段 Score

强烈建议不要使用保留字作为任何名称。 Name 是保留字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多