这可能是一个简单的问题,但我真的不知道我在Excel中做了什么,所以希望有人可以帮助我。

我收到了一个Excel电子表格,其中包含两个与我的任务相关的列。第一列是“外部ID”,第二列是“内部ID”。我需要使用内部ID作为密钥从我们的数据库中选择一堆数据(带有各种连接),但是所有这些数据都需要链接回外部ID,而内部/外部之间的唯一链接是这个电子表格。

例如,假设电子表格的一行如下所示:

ExtID    IntID
AB1234   2

我需要在数据库中选择与ID#2相关的所有数据,但我无法获得“AB1234”。从数据库中,我需要以某种方式将这些数据与“AB1234”相关联。使用电子表格。

实现这一目标的最简单方法是什么? Excel的版本是Excel 2007,如果相关,则数据库是Oracle。

请注意,我只对生产数据库具有读取权限,因此创建表格并导入电子表格数据以进行连接不是一种选择。

有帮助吗?

解决方案

根据评论

进行编辑

1 - 使用MS Access将Excel工作表导入为表格。

2 - 链接到数据库表,也可以从MS Access中链接

外部数据标签 - >其他数据源 - > ODBC连接 - >选择您的 - >选择您想要的表格

3 - 编写Access查询以比较您想要的值

创建 - >查询设计 - >删除所需的表格,在它们之间拖动线条以获得关系,点击运行

其他提示

通常我使用复制粘贴和带有宏的良好列模式编辑器来完成此类任务。如果您只有几个Excel文件,它可以正常工作。

很多都取决于您对可用工具的熟悉程度。

您是否拥有熟悉的工具,可以轻松使用IntID查找这些记录?如果是这样,您是否可以执行查询并将结果粘贴回具有IntID的列右侧列中的原始电子表格中?

如果是这样,您将拥有所需内容,包含以下列的电子表格:   ExtID(原创)   IntID(原创)   IntID(来自Oracle)   Col1(来自Oracle)   Col2(来自Oracle)等......

我不熟悉Oracle,但我知道很多数据库都允许你用#或类似的东西预先添加表名并创建临时表。其他人有一个临时数据库,您可以在其中创建东西有时您可以创建临时表,即使您除了选择之外不能执行任何操作。

如果您有权这样做,我会像JosephStyons建议的那样执行该功能(#2),将您的记录插入临时表,然后根据它进行查询。

使用Excel和VBA,您可以将ActiveX数据对象(ADO)用作为特定数据库使用OLE DB提供程序的高级方法。这使您可以从数据库中读取数据,然后可以查询该数据并将结果存储在电子表格中。

Oracle OLE DB提供程序
ADO指南

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top