首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较2个Oracle 11g表中的列

比较2个Oracle 11g表中的列
EN

Stack Overflow用户
提问于 2020-04-06 12:05:02
回答 1查看 24关注 0票数 0

我在Oracle11g中有两个表,一个包含实际的源数据,另一个包含屏蔽数据。

该表大约有1260000行。

我正在比较的列是V r。

我正在尝试检查是否所有数据都被屏蔽为与原始数据不同的值。

我在连接上执行一个带有2个条件的select查询1.具有唯一的行标识符2.我试图比较的值。

查询在执行时永远不会返回。

有没有一种方法可以让我看到两个表中的值相同的行的输出?

EN

回答 1

Stack Overflow用户

发布于 2020-04-06 13:12:07

这就是我对这个问题的理解。

例如,我创建了一个斯科特的EMP表的“副本”和“掩码”名称:

代码语言:javascript
复制
SQL> create table emp2 as select * From emp;

Table created.

SQL> update emp2 set ename = translate(ename, 'AEIOU', '98765');

14 rows updated.

SQL> select empno, ename from emp2 order by empno;

     EMPNO ENAME
---------- ----------
      7369 SM7TH
      7499 9LL8N
      7521 W9RD
      7566 J6N8S
      7654 M9RT7N
      7698 BL9K8
      7782 CL9RK
      7788 SC6TT
      7839 K7NG
      7844 T5RN8R
      7876 9D9MS
      7900 J9M8S
      7902 F6RD
      7934 M7LL8R

14 rows selected.

要检查哪些名称不同,请执行以下操作:

代码语言:javascript
复制
SQL> select a.empno, a.ename, b.ename
  2  from emp a join emp2 b on a.empno = b.empno
  3  where a.ename <> b.ename
  4  order by a.empno;

     EMPNO ENAME      ENAME
---------- ---------- ----------
      7369 SMITH      SM7TH
      7499 ALLEN      9LL8N
      7521 WARD       W9RD
      7566 JONES      J6N8S
      7654 MARTIN     M9RT7N
      7698 BLAKE      BL9K8
      7782 CLARK      CL9RK
      7788 SCOTT      SC6TT
      7839 KING       K7NG
      7844 TURNER     T5RN8R
      7876 ADAMS      9D9MS
      7900 JAMES      J9M8S
      7902 FORD       F6RD
      7934 MILLER     M7LL8R

14 rows selected.

SQL>

或者,在您的示例中,如果希望看到未更改的值,可以将第3行修改为

代码语言:javascript
复制
where a.ename = b.ename
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61052804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档