一尘不染

SQL,合并结果

sql

我正在使用Access并拥有此SQL

SELECT land.id, land.official_name, vaksiner.vaksiner
FROM land INNER JOIN (vaksiner INNER JOIN land_sykdom ON vaksiner.id = land_sykdom.sykdom)        ON land.kort = land_sykdom.land
ORDER BY land.official_name

SQL给我这样的结果:

id    official_name    vaksiner

1     a                A
1     a                C    
2     b                A
2     b                B
2     b                C

但我想合并结果,使其看起来像这样:

id    official_name    vaksiner

1     a                A, C
2     b                A, B, C

阅读 222

收藏
2021-03-17

共1个答案

一尘不染

参见艾伦·布朗的ConcatRelated函数(从相关记录中合并值

如果将现有查询另存为 qryVaksinerRaw ,则可以像这样构建一个新查询以产生所需的结果。

SELECT DISTINCT
    id,
    official_name,
    ConcatRelated("vaksiner","qryVaksinerRaw","id = " & [id]) AS vaksiner
FROM qryVaksinerRaw;

要将功能添加到模块,请从网页开始复制功能,开始于

Public Function ConcatRelated(strField As String, _

并继续包括

End Function

然后将复制的文本粘贴到您的模块中。

ConcatRelated()然后,注释将可用于从Access内部运行的查询。但是,像任何自定义VBA函数一样,不能在从外部Access运行的查询中使用它(例如经典的ASP,.Net等)

2021-03-17