簡體   English   中英

比較兩個表 - Oracle SQL 開發人員

[英]Comparing two tables - Oracle SQL developer

我正在嘗試比較 oracle sql developer 中的兩個表。 需要從具有不同 C 列值但具有相同 A 和 B 列值的兩個表中獲取行列表。

謝謝,迪帕

當我解釋這個問題時,您可以使用join

select t1.*, t2.*
from table1 t1 join
     table2 t2
     on t1.a = t2. a and t1.b = t2.b
where t1.c <> t2.c;

這將返回兩個表中具有匹配ab所有行對,但c值不相同。

如果 C 列是某種數字,則應使用以下方法,並且不會重復出現:

select t1.*,
       t2.*
  from table1 t1,
       table2 t2
 where t1.a = t2.a
   and t1.b = t2.b
   and t1.c < t2.c;

使用以下潛在對象的潛在答案。

表 ddl

create table a_Table( 
colum1  varchar2(20),
colum2  varchar2(20),
colum3  varchar2(20)
);

create table b_Table( 
colum1  varchar2(20),
colum2  varchar2(20),
colum3  varchar2(20)
);
 --POTENTIAL INSERT --        
INSERT INTO B_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'B');
INSERT INTO B_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'D');
INSERT INTO A_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'C');
INSERT INTO A_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'D');




  --QUERY TO FIND THE DIFF --


SELECT
    a.*,
    b.*
FROM
         a_table a
    JOIN b_table b 
    ON a.colum1 = b.colum1
    AND a.colum2 = b.colum2
WHERE   a.colum3 != b.colum3;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM