2

同じ構造のテーブルが 2 つあります。
これら2つのすべての行が等しいかどうかを確認するにはどうすればよいですか?
つまり、最初のテーブルの各行が他のテーブルに存在し、その逆も同様です。

4

2 に答える 2

0

これは興味深いものです。これを行うためのより良い方法またはより簡単な方法があるかどうかはわかりませんが、次のような方法でうまくいく可能性があります。

2 つのテーブル t1 と t2 があり、それぞれに 2 つの列 c1 と c2 があるとします。

create view t1_counts
as select c1, c2, count(*) as num
from t1
group by c1, c2;

create view t2_counts
as select c1, c2, count(*) as num
from t2
group by c1, c2;

select t1_counts.c1, t1_counts.c2, t1_counts.num, t2_counts.num
from t1_counts full outer join t2_counts on (t1_counts.c1 = t2_counts.c1 and t1_counts.c2 = t2_counts.c2)
where t1_counts.num != t2_counts.num;

2 つのテーブルが等しい場合、出力は空になります。

于 2013-01-24T00:54:37.967 に答える