gpt4 book ai didi

ms-access - 将相关行中的值组合成单个串联字符串值

转载 作者:行者123 更新时间:2023-12-02 23:09:45 28 4
gpt4 key购买 nike

我正在尝试聚合一些教师数据(以轻松显示教师在一个学期教授哪些类(class)),到目前为止,我刚刚接受每位教师拥有多行。然而,如果我可以将讲师的所有教学集中在一行中,这对某些业务流程将是有益的。这是一些示例数据(我的表有更多列,但总体思路不会改变太多。

tbl_Instructors 具有:

    N_ID | F_Name | L_Name
001 Joe Smith
002 Henry Fonda
003 Lou Reed

tbl_类(class)有:

    Course_ID | N_ID | Course_Info
AAA 001 PHYS 1
AAB 001 PHYS 2
CCC 002 PHYS 12
DDD 003 PHYS 121
FFF 003 PHYS 224

我想要返回的是:

    N_ID | First_Name | Last_Name | Course_IDs
001 Joe Smith AAA, AAB
002 Henry Fonda CCC
003 Lou Reed DDD, FFF

我认为我需要做一些事情,从 tbl_Instructors 中选择所有 N_ID,然后通过串联从 tbl_Courses 返回 Course_ID,但这个神奇的步骤已经暗示了我。有什么帮助吗?我可以通过 SQL 选择来完成此操作还是需要使用 VB?

最佳答案

使用 Allen Browne 的 ConcatRelated() 很容易做到这一点功能。从该网页复制该函数并将其粘贴到 Access 标准代码模块中。

然后这个查询将返回您所要求的内容。

SELECT
i.N_ID,
i.F_Name,
i.L_Name,
ConcatRelated(
"Course_ID",
"tbl_Courses",
"N_ID = '" & [N_ID] & "'"
) AS Course_IDs
FROM tbl_Instructors AS i;

考虑将两个表中的 N_ID 数据类型从文本更改为数字。如果这样做,则不需要该 ConcatRelated() 表达式的第三个参数中的单引号。

"N_ID = " & [N_ID]

每当您需要用前导零显示 N_ID 时,请使用 Format() 表达式。

Format(N_ID, "000")

关于ms-access - 将相关行中的值组合成单个串联字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13278590/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com