检查两个表,如果表B中存在表A更新A

时间:2017-02-19 12:54:13

标签: ms-access ms-access-2016

在我提出任何问题之前,我想明确表示我正在请求课程作业的帮助。不幸的是,我正在尝试做的事情并没有涵盖在课程中。

我被要求建立一个MS Access数据库来管理和维护一个控制台游戏库。

我有两个表,tblGames和tblLoans。

我试图让它成为如果tblGames中的game_ID存在于tblLoans中,它会更新tblGames以显示游戏当前不可用。我将通过查询来执行此操作。

在tblGames中我有一个外键" game_ID" (自动编号)链接到tblLoans列"游戏"。

问题是我不知道如何做到这一点。我已经尝试查找有关如何执行此操作的信息,遗憾的是,我找到的任何信息都是有人为问题提供量身定制的答案或与我的需求无关。我确信这部分是因为我在搜索信息时没有使用正确的条款,因为我不完全确定正确的条款。

我不一定在寻找答案,而是一些方向来帮助我自己找到答案(虽然一个示例解决方案,解释它的作用会非常有帮助)

感谢您的时间。

注意:我们实际上会在分配到期后的一周内在课堂上进行查询。整体而言,课程本身设计非常糟糕,讲师不合作且无益。我们目前正在与部门主管讨论这个问题,因为这显然是不可接受的。

1 个答案:

答案 0 :(得分:0)

这是一种可能的方式:

  1. 创建新查询
  2. 将此示例查询应用于表结构:
  3. UPDATE tblGames AS g
    SET g.game_ID = (
      SELECT game
      FROM tblLoans
      WHERE game = yourParameter
    );
    

    此部分检查tblLoans中是否存在带有“yourParameter”的游戏。

    SELECT game
    FROM tblLoans
    WHERE game = yourParameter
    

    如果它在tbl中找到任何game_ID,则会更新游戏。

    在你在课堂上讨论查询之前,你得到关于查询的作业真的很不合理。