2 つの Oracle DB スキーマがあり、各スキーマには次の 2 つのテーブルがあります。
1) 列を持つテーブル T1: child_id、parent_id、type
2) 列を持つテーブル T2: id、属性、値
これら 2 つのスキーマに格納されているデータを比較し、不一致を見つけるにはどうすればよいでしょうか (最善の方法で)。データは次のようになります。
T1:
1, NULL, 'Fruit'
2, 1, 'Orange'
3, 1, 'Apple'
4, 3, 'Gala'
T2:
1, 'Company Name', 'ABC'
1, 'Dept', 'Fruits'
2, 'name', 'XX Oranges'
2, 'color', 'Orange'
2, 'taste', 'Sweet'
3, 'name', 'YY Apples'
3, 'color', 'Red'
4, 'taste', 'Very Sweet'
データは階層の任意のレベルまで保存できます。たとえば、「Gala」「Apples」が他のスキーマでは「Very Sweet」ではないなどの不一致があるかどうかを確認したいと考えています。
これら 2 つのスキーマでは、ID が異なっていてもかまいません。