【发布时间】:2016-05-04 20:40:22
【问题描述】:
我正在使用 access 2013。我创建了一个有多个孩子的家庭数据库。第一个表格包含每个家庭的一般信息,例如电话号码地址等。以及与另一个表格相关的 ID 号,该表格包含儿童列表及其年龄学校等信息。 不想将孩子的总数放到第一个表中带有姓氏的字段中。 我感谢所有的想法!
【问题讨论】:
标签: ms-access-2013
我正在使用 access 2013。我创建了一个有多个孩子的家庭数据库。第一个表格包含每个家庭的一般信息,例如电话号码地址等。以及与另一个表格相关的 ID 号,该表格包含儿童列表及其年龄学校等信息。 不想将孩子的总数放到第一个表中带有姓氏的字段中。 我感谢所有的想法!
【问题讨论】:
标签: ms-access-2013
手头没有访问权限,但请尝试以下 T-SQL:
SELECT Family.Name, Count(*) FROM Children INNER JOIN Family GROUP BY Family.Id
这将为您提供每个家庭 ID 的孩子数量。参考这篇文章:https://support.office.com/en-us/article/GROUP-BY-Clause-84eeb766-25d2-4aa1-8eea-002bb65ef3a0
用孩子的数量更新家庭表通常是一种不好的做法,称为“非规范化”。当您拥有数百万条记录并且运行 JOIN 比遇到子元素计数不正确的问题时,这通常是合理的。在 MSSQL 中,这可以通过使用触发器来解决,而在 Access 中显然不会有。所以我建议你不要用你的问题开始的方法。
【讨论】: