我们有一个包含 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 - 该解决方案需要对非技术最终用户可行。
有什么工具可以做到这一点吗?