如何使用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
截图:
错误:
有人可以帮助我并告诉我应该如何更正我的查询以使其有效?
谢谢!
稍微看一下 excel 'concatenate' 函数。
我相信您也可以将它用作 CONCAT()。
另见这个 SO 问题:Concatenation in SQL select query on Excel sheet
希望对您有所帮助。
问题: Excel不是数据库。
您正在尝试在扩展包中使用高级查询功能sheeting 包,有时 excel 的某些版本会稍微支持它,使用大量处理器能力,一旦出现严重问题当用户在 sheet 或文件本身上移动任何内容时,这并不是它设计的真正目的。
解决方法:使用数据库
我知道在 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
截图:
错误:
有人可以帮助我并告诉我应该如何更正我的查询以使其有效?
谢谢!
稍微看一下 excel 'concatenate' 函数。
我相信您也可以将它用作 CONCAT()。
另见这个 SO 问题:Concatenation in SQL select query on Excel sheet
希望对您有所帮助。
问题: Excel不是数据库。
您正在尝试在扩展包中使用高级查询功能sheeting 包,有时 excel 的某些版本会稍微支持它,使用大量处理器能力,一旦出现严重问题当用户在 sheet 或文件本身上移动任何内容时,这并不是它设计的真正目的。
解决方法:使用数据库