在字段为空的 Access SQL 中合并行

Combine Rows in Access SQL where fields are blank

我一直在寻找将多行信息组合成一行以填充空白的方法。

Id | name | value1 | value2 | value3
1    bob      3                                                              
1    bob                        6
1    bob               B

如何将这 3 行合并为一行?确认它们将完全适合空白值所在的位置,没有值会重叠。

Id | name | value1 | value2 | value3
1    bob      3        B        6

除了我无法修改以满足我的需要的名为 ConcatRelated 的东西之外,我在我的研究中没有发现任何有用的东西。我还尝试了一个 group by 语句,但我也无法开始工作。有任何想法吗?总的来说,我是 Access 和 SQL 的新手。

How do I get those 3 rows into a single row?

使用 GROUP BY 查询将 3 "bob" 行合并为一个。然后您可以包含一个聚合函数,例如 Max() 来检索每个 valueX 列的非空白行。

SELECT
    y.Id,
    y.name,
    Max(y.value1) AS MaxOfvalue1,
    Max(y.value2) AS MaxOfvalue2,
    Max(y.value3) AS MaxOfvalue3
FROM YourTable AS y
GROUP BY
    y.Id,
    y.name;

如果要重复使用原始列名称 valueX,而不是 MaxOfvalueX 别名,请将该名称括在方括号中。 ..

Max(y.value1) AS [value1]