在字段为空的 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]
我一直在寻找将多行信息组合成一行以填充空白的方法。
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]