我知道在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
截图:
错误:
有人可以帮助我并告诉我如何更正我的查询以使其有效?
谢谢!
答案 0 :(得分:0)
稍微查看excel 'concatenate'函数。
我相信你也可以将它用作CONCAT()。
另见这个问题:Concatenation in SQL select query on Excel sheet
希望这有帮助。
答案 1 :(得分:0)
问题: Excel不是数据库。
您正在尝试在电子表格中使用高级查询功能,某些版本的Excel有时会受到某种程度的支持,使用大量处理器能力,一旦用户在工作表上移动任何内容或文件就会导致严重问题本身,并不是它的设计目的。
解决方案:使用数据库。