编写一个Cursor或过程来迭代一个表的行与其他表的行

时间:2015-05-05 12:59:03

标签: oracle plsql

我有两个表(T1和T2),两个表中都有相同的列 表T1有大量数据(~10000条记录),表T2有10%的T1 表T1中有如此多的行与关于所有列的表T2的行匹配。但是一些行仅与特定列匹配,并且对于其余列而言它们是不同的。

我想知道表T1中哪些列不同。

假设T1有ProdId, Name, Address, Phone而T2也有相同的列 让我们说50条记录完全匹配每一列 但是,50条记录仅与ProdId列匹配,15条记录与ProdIdName列匹配。像那样。

1 个答案:

答案 0 :(得分:0)

找到2表之间的差异你可以做点什么

select ProdId, Name, Address, Phone
from t1
minus
select ProdId, Name, Address, Phone
from t2
to find the columns .. you could try
something like
select t1.ProdId, t1.Name, t1.Address, t1Phone
from t1 t1
left join t2 t2 on t1.prodid = t2.prodid and t1.name = t2.name --can add columns here...
where t2 id null