Oracle - 比较具有大量列的行

时间:2013-03-21 07:24:58

标签: database oracle plsql oracle10g

我需要比较2行和大量列。

类似

ID A  Column1 Column2 .....
ID B  Column1 Column2 .....
ID C  Column1 Column2 .....

我需要比较大量的列,比如对它们进行减法。 我不想从表中减去,我想对所有列进行类似的操作。 任何一个电话都告诉我如何在不引用每个列名称的情况下执行此操作。 减法或加法等操作在每列上保持相同。

基本上就是这样理解的。

CDE01 A 06 C D
PDE02 B 07 C D
PDE03 A 05 C D

因此,如果我与CDE01进行比较,则其他行的2列和3列相同。 我有一个表格,其中包含许多需要匹配的列。 该表将有两种这样的行,我需要将基于where子句的一组中的每一行与其他子集的每一行进行比较。像PDE和CDE这里是两种不同的行。

3 个答案:

答案 0 :(得分:0)

为什么不根据需要创建两个视图(或更多视图)。每个视图代表您认为是分组的内容(您将它们称为各种行)。因此,您最终可能会得到一个视图:CDE_data和PDE_data。

然后,您必须确定行与众不同的含义。根据您提供的数据,我根本看不到任何匹配项 - 您需要确定CDE_data中的一行如何与PDE_data行匹配。可能是您仅匹配第二列(A和B)。如果是这种情况,那么基于此将cde_dta加入pde_data,然后在此处使用解决方案:

How to compare two tables column by column in oracle

答案 1 :(得分:0)

您需要查询元数据以生成比较。我以为我刚回答了这样一个问题...

答案 2 :(得分:-1)

要比较表格中的大量数据,您可以使用“ Oracle GoldenGate Veridata ”或大量第三方工具,如下所示:

Toadsoft.com/ - 共享软件

dkgas.com/oradbdiff.htm

softtreetech.com/dbtools /

impacttoys.com/supported_ora_features.htm - 免费