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

问题描述

我在Excel的工作表1上有A列,其中包含50个城市名称(A1:A50),以及一个ODBC数据源,其中在一张表中包含了世界各地城市的人口(成千上万的记录,不是拉取的选项)全部放入Excel)。我想在工作表1和城市名称匹配的ODBC数据源之间进行内部联接(这是ODBC表的键)。内连接生成的新表可以在执行第50页中的50个城市名称及其人口后在Sheet 2中打开。

我已经尝试在Excel中使用“其他源/ ODBC”外部数据功能,但是到目前为止,它只能从ODBC源中专门提取数据。我一直无法弄清楚Excel工作表和ODBC源之间的内部联接。能做到吗?

解决方法

简短的回答是“否”。

更长的答案是,您需要将Excel文件中的数据插入SQL Server数据库中才能执行联接。有几种工具可以帮助您做到这一点。数据存储在SQL Server中之后,您可以按任意方式联接和提取数据。

,

Excel 'power query' 工具可以链接两个表并构建允许数据合并。 PQ 可以打开超出 Excel 正常处理能力的大型数据集。网上有教程详细解释了这一点。简要概述是:

  1. 打开电子表格,建立连接
  2. 打开 ODBC 数据源,建立连接。
  3. 对这两个项目使用合并工具,指定要链接的字段(您的城市数据)并指定您想要的连接(左连接应该适合您)。

https://www.youtube.com/watch?v=712mV9jwMLo

https://www.ablebits.com/office-addins-blog/2018/11/14/excel-join-tables-power-query/

(PQ 可作为 2010 和 2013 Excel 的插件使用,但内置于 2016 年,但可能需要启用)