如何使用string_agg in SQL in Excel查询

How to use string_agg in SQL in Excel Query

我知道在 SQL 中我可以使用 'String_agg(Test1, ',')' 函数对行进行分组并连接所选字段中的值(在本例中为 'Test1')。

例如:

我有一个查询,在 'Buyer' 字段上不使用 String_agg 的结果是:

**Key** | **Buyer** | **MP**
1 | Josh | Gregory
1 | Bred | Gregory
2 | John | Ethan

使用String_agg时的预期结果是:

**Key** | **Buyer** | **MP**
1 | Josh, Bred | Gregory
2 | John | Ethan

但问题是我试图在 SQL 查询中执行它,该查询将数据从另一个 Excel 文件检索到 Excel 文件,但由于以下错误而失败Excel 查询似乎不知道 String_agg 函数。

查询是:

SELECT `Sheet1$`.Key, string_agg(`Sheet1$`.Buyer, `, `) AS `Buyer`, `Sheet1$`.MP
FROM `C:\Input\Data.xls`.`Sheet1$` `Sheet1$`
GROUP BY 2
ORDER BY `Sheet1$`.Key

截图:

Query screenshot

错误:

Error Screenshot

有人可以帮助我并告诉我应该如何更正我的查询以使其有效?

谢谢!

稍微看一下 excel 'concatenate' 函数。

我相信您也可以将它用作 CONCAT()。

另见这个 SO 问题:Concatenation in SQL select query on Excel sheet

希望对您有所帮助。

问题: Excel不是数据库。

您正在尝试在扩展包中使用高级查询功能sheeting 包,有时 excel 的某些版本会稍微支持它,使用大量处理器能力,一旦出现严重问题当用户在 sheet 或文件本身上移动任何内容时,这并不是它设计的真正目的。

解决方法:使用数据库