【问题标题】:MS Access Selecting Related RowsMS Access 选择相关行
【发布时间】:2011-09-30 20:07:32
【问题描述】:

我有 2 个具有多对任意关系的表。例如,我们将表称为“Guys”和“Girls”。有一个联结表,其中包含相关的主键......谁与谁约会。

如果我想找到 Guy 1 约会过的所有女孩,我会在连接表上选择所有具有 guy.ID 的女孩。这给了我一个 RecordSet。现在要查找女孩的名字,我需要使用每个 RecordSet 行中的键从女孩表中选择一行。

没有更简单的方法吗?由于我已经在 Access 中定义了关系,我认为必须有一种方法来构建单个查询。我该怎么做?

【问题讨论】:

  • 既然您已经在 Access 中定义了关系,您应该能够使用查询设计工具自动为您编写内部连接:IIRC 一种方法是打开“显示表”,双击单击以添加表格,选择要显示的列,您就完成了。这是Microsoft QBE 的主要功能之一,也是首先定义关系的唯一原因(除了参照完整性)。

标签: sql ms-access select relationship


【解决方案1】:
SELECT girls.name 
FROM (guys 
INNER JOIN junct ON guys.guyID = junct.guyID) 
INNER JOIN girls ON junct.girlID = girls.girlID 
WHERE guys.guyID = [whatever id you're looking for]

【讨论】:

  • @Papa Dilbert 欢迎加入国家,SQL 开始真正变得有用。 :) 如果您需要更多解释它的工作原理和原因,请发表评论。
  • 是的,自从我使用 Access 以来已经有一段时间了...我编辑了括号并接受了来自 pheedbaq 的更改
  • 还是不行,你需要把后面的人移到前面的人。
  • 是的,根据 Remou 修复
猜你喜欢
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多