Excel表中的SQL查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel表中的SQL查询相关的知识,希望对你有一定的参考价值。

我在Excel中的数据库中使用OleDbCommand运行查询,包含以下列:

name, city, inhabitants

我的代码:

 Cmd = new OleDbCommand();
 Cmd.Connection = Conn;
 Cmd.Parameters.AddWithValue("@city", city);
 Cmd.CommandText = "Select City, count(habitants) as h from [Sheet1$] where city = @city group by city";
 var Reader = await Cmd.ExecuteReaderAsync();

我收到此错误:

OleDbException:您尝试执行不包含指定表达式“city”的查询作为聚合函数的一部分。

如果它包含city列,为什么会出现此错误?

答案

您可以通过在查询中添加GROUP BY来解决此错误:

Cmd.CommandText = "Select City, count(habitants) as h from [Sheet1$] where city=@city group by City";
另一答案

使用FIRST()函数为city

Cmd.CommandText = "SELECT FIRST(city) AS city, COUNT(habitants) AS h FROM [Sheet1$] WHERE city=@city GROUP BY city";

以上是关于Excel表中的SQL查询的主要内容,如果未能解决你的问题,请参考以下文章

Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件

使用 VBA 在 Excel 中的 SQL 表上使用参数化查询

excel中的sql查询

SQL 查询在 Excel 中不起作用,但在 Access 中起作用

如何将excel表中的数据导入到sql server表中?

SQL 查询的 Excel 参数