Microsoft Excel和ODBC数据源之间是否可以进行SQL内部联接?

Microsoft Excel和ODBC数据源之间是否可以进行SQL内部联接?,sql,excel,odbc,Sql,Excel,Odbc,我在Excel的第1页上有一列a,其中有50个城市名称(A1:A50),还有一个ODBC数据源,在一个表中有世界各地城市的人口(数十万条记录,无法将其全部拉入Excel)。我想在表1和城市名称匹配的ODBC数据源之间进行内部连接(这是ODBC表的键)。通过内部联接生成的新表可以在表2中打开,其中包含50个城市名称及其人口 我曾尝试在Excel中使用“其他源代码/ODBC”外部数据功能,但到目前为止,只能从ODBC源代码中提取数据。我无法找出Excel工作表和ODBC源之间的内部连接。能做到吗?简

我在Excel的第1页上有一列a,其中有50个城市名称(A1:A50),还有一个ODBC数据源,在一个表中有世界各地城市的人口(数十万条记录,无法将其全部拉入Excel)。我想在表1和城市名称匹配的ODBC数据源之间进行内部连接(这是ODBC表的键)。通过内部联接生成的新表可以在表2中打开,其中包含50个城市名称及其人口


我曾尝试在Excel中使用“其他源代码/ODBC”外部数据功能,但到目前为止,只能从ODBC源代码中提取数据。我无法找出Excel工作表和ODBC源之间的内部连接。能做到吗?

简单的回答是不行


较长的答案是,您需要将Excel文件中的数据插入SQL Server数据库,以便执行联接。有几种工具可以帮助您做到这一点。数据进入SQL Server后,您可以按任何方式连接和提取数据。

Excel“power query”工具可以链接两个表并生成允许数据合并的数据。PQ可以打开比Excel正常处理的数据集更大的数据集。网上有详细解释这一点的教程。简要概述如下:

  • 打开电子表格,与之建立连接
  • 打开ODBC数据源,与之建立连接
  • 使用合并工具来合并这两个项目,指定要链接的字段(您的城市数据)并指定所需的连接(左连接适用于您)

  • (PQ作为2010和2013 Excel的外接程序提供,但在2016年构建,但可能需要启用)

    在其他工具中,我会将Excel数据加载到数据库中的临时表中并连接到该表,或者将Excel数据作为参数列表传递到WHERE子句。这些选项中有一个在Excel中是可能的吗?@Violet:有点。请记住,in列表不能包含OP中指示的数十万个元素。临时表可以工作,但必须向其中插入数据。