[英]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;
這將返回兩個表中具有匹配a
和b
所有行對,但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.