Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Excel 2010-按电子表格筛选的数据库查询_Sql_Sql Server_Excel_Business Intelligence - Fatal编程技术网

Sql Excel 2010-按电子表格筛选的数据库查询

Sql Excel 2010-按电子表格筛选的数据库查询,sql,sql-server,excel,business-intelligence,Sql,Sql Server,Excel,Business Intelligence,我们有一个包含10000个客户ID的电子表格 我们还有一个SQL Server 2008R2数据库,该数据库有一个customers表,包含20000000个客户,并包括客户ID、名字、电子邮件等属性 最好是在Excel中,我想查询数据库,获得电子表格中10000名客户的名字和电子邮件 我不想从数据库中带回所有20000000条记录,然后对10000个客户进行筛选,因为这对数据库来说太麻烦了(返回20000000行) 我试图找到一种在DB查询中应用筛选器谓词的方法来执行以下操作: SELECT

我们有一个包含10000个客户ID的电子表格

我们还有一个SQL Server 2008R2数据库,该数据库有一个customers表,包含20000000个客户,并包括客户ID、名字、电子邮件等属性

最好是在Excel中,我想查询数据库,获得电子表格中10000名客户的名字和电子邮件

我不想从数据库中带回所有20000000条记录,然后对10000个客户进行筛选,因为这对数据库来说太麻烦了(返回20000000行)

我试图找到一种在DB查询中应用筛选器谓词的方法来执行以下操作:

SELECT first_name, email 
FROM customers
WHERE customer_id IN (
SELECT customer_id FROM [Excel Spreadsheet]
)
我无法在查询中执行
WHERE CUSTOMER\u ID IN()
,因为有10000个客户ID(整数),并且似乎对单个SQL语句中可以包含的字符数有限制

我有PowerPivot,但如果不首先让20家工厂的客户回来,我就找不到一种方法来实现它

我不想使用VBA-解决方案需要对非技术最终用户可行


有什么工具可以做到这一点吗?

很抱歉,我不熟悉这一点(你最不想听到的事情),但我当前的项目与此类似,我正在将Excel连接到数据库,并使用SQL调用特定的查询以加载到我的Excel工作表中。有一个链接指向一个已经对此提出质疑的论坛。希望这对您有意义,因为他们提供的答案根本不使用VBA,而且看起来很简单。

它看起来很旧,但这里有一些问题。然后,你可以从Excel中任意查询。谢谢,我可以从Excel连接到数据库,没有问题。问题在于构造DB查询以将现有电子表格中的值用作筛选器。能否将Excel客户ID上载到数据库中的临时表,然后在客户表上构建查询,并在临时表上建立内部联接?您可以使用VBA/ADO自动上传-并为非技术用户提供一个按钮来触发上传或整体更新…这将是可行的,但远不是理想的。。。也许Excel不是这份工作的合适工具。我发现在MS Access中可以这样做,即创建一个链接到Excel电子表格的表,以及一个链接到SQL Server DB表的表,然后可以在查询中将两者连接起来。虽然通过运行DB跟踪,看起来它仍然会将整个DB表拉到客户端,然后将其与客户端的电子表格合并。我无法在查询中查找CUSTOMER_ID(),因为有10000个CUSTOMER ID(整数),单个SQL语句中可以包含的字符数似乎有限制。很抱歉,我注意到您有整数值,这就是为什么我认为链接会有所帮助,因为它们将单元格引用用作文本字符串示例(“&A1&”)或(范围(“B4”).Value)。我想这会减少字符限制,因为你不使用实际的单元格ID号。很抱歉,这没有帮助,这是找到解决方案的最好办法。