0

我们有一个包含 10,000 个客户 ID 列表的电子表格。

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

最好在 Excel 中,我想查询数据库并在我的电子表格中获取 10,000 个客户的名字和电子邮件。

我不想从数据库中带回所有 20,000,000 条记录,然后过滤 10,000 名客户,因为这对数据库来说太重了(返回 20,000,000 行)。

我试图找到一种在数据库查询中应用过滤谓词的方法来执行以下操作:

SELECT first_name, email 
FROM customers
WHERE customer_id IN (
SELECT customer_id FROM [Excel Spreadsheet]
)

我无法WHERE CUSTOMER_ID IN ( <comma seperated list of customer_ids> )在查询中执行此操作,因为有 10,000 个客户 ID(整数),而且单个 SQL 语句中的字符数似乎有限制。

我有 PowerPivot,但如果不先带回 20 家工厂客户,就找不到办法。

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

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

4

1 回答 1

0

抱歉,我是新手(您想听到的最后一件事),但我当前的项目类似,因为我将 Excel 连接到我的数据库并使用 SQL 调用特定查询以加载到我的 Excel 工作表中。有一个论坛的链接已经对此提出质疑。http://community.spiceworks.com/topic/215327-using-column-data-from-excel-to-use-in-a-sql-query-statement 希望这与他们提供的答案有关根本不使用VBA,看起来很简单。

于 2013-01-04T14:54:21.840 回答