sql - 如何使用与正在编辑的记录相关的值填充组合框
问题描述
我在 MS Access 中有两个表
首先,我指定组 ID:
然后我用名称填写第二张表并将每个名称分配给一个组:
那么我想回到表 #1 并在以下条件下将 Head 分配给每个组:
将 Head 字段设置为 Lookup Combo 框以仅显示数据库中存在的名称(因为这是先决条件:“Head must be a member”) -我可以这样做
组合框应该只显示已经分配给这个特定组的名称(另一个先决条件:“只有组的成员可以是它的头”) -我不能这样做
看起来正确的 SQL 语句应该是:
SELECT [Table #2].[NameID], [Table #2].[Name] FROM Table #2
WHERE [Table #2].[GroupID] = [Table #1].[GroupID] ORDER BY [Name];
但它不起作用。这是可能的还是我创建循环引用并且我应该使用其他一些工具?
解决方案
我认为您的 SQL 语句的问题是由于您尝试使用表一中的组 ID 而不加入它,以下 SQL 语句应该可以工作:
SELECT t2.NameID , t2.Name
FROM [Table #1] as t1
RIGHT JOIN [Table #2] as t2 on t1.groupid = t2.groupid
推荐阅读
- javascript - 使用两个数组特定数据和值创建新数组
- css - 应用 TranslateY 时,Firefox 以不同方式呈现元素
- java - 为什么选择数组列表
可以分配给 ArrayList - python - 使用 keras 进行迁移学习
- php - 有没有办法根据用户帐户唯一地查看数据?代码点火器 PHP
- eclipse - eclipse:奇怪的背景颜色突出显示
- linux - “无法执行二进制文件:执行格式错误”在 aarch64 处理器 Debian 10 上运行的 x84-64 位程序
- visual-studio - 0 总测试 - 0 通过,0 失败,0 即使在课堂上进行测试后也跳过
- arrays - 在 PostgreSQL 中,如何从列表中提取匹配项?
- jdbc - SoapUI JDBC 请求步骤 - [错误 3706] [SQLState 42000] 语法错误:数据类型与定义的类型名称不匹配