如何在Excel查询中使用SQL中的string_agg

时间:2016-03-27 11:54:58

标签: sql excel command-text

我知道在SQL中我可以使用' String_agg(Test1,',')'用于对行进行分组并在选定字段中连接值的功能(' Test1'在这种情况下)。

例如:

我有一个查询结果没有在'买方'上使用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

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

谢谢!

2 个答案:

答案 0 :(得分:0)

稍微查看excel 'concatenate'函数。

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

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

希望这有帮助。

答案 1 :(得分:0)

问题: Excel不是数据库。

您正在尝试在电子表格中使用高级查询功能,某些版本的Excel有时会受到某种程度的支持,使用大量处理器能力,一旦用户在工作表上移动任何内容或文件就会导致严重问题本身,并不是它的设计目的。

解决方案:使用数据库。