2つのテーブルがあるとしましょう:
TableA
ID, Time, Size
0 5:00 600
1 8:00 800
2 7:00 100
3 1:50 140
4 2:40 300
12 3:40 300
TableB
ID, Time, Size
8 5:00 600
1 8:00 800
2 8:00 900
3 1:50 140
5 2:40 300
12 3:40 300
ここで、これら 2 つのテーブルを比較したいと思います。テーブル A と B から、ID が同じ (または ID が両方のテーブルに存在する場所) であるが、12 より小さいすべての行を指定すると、テーブル A が除外されます。ID 0, 4, 12
そしてテーブルBからID 8, 5, 12
その後、3行しか残っていません。ここで、TableA の行 ID == TableB の行 ID 全体に 1 つ以上の違いがあるすべての行を追い出したいと思います。
最後に(私がそれが正しいと思うなら)出力としてあるでしょう:
ID, Time, Size
1 8:00 800
3 1:50 140
この解決策のために、私は確かに交差し、おそらくマイナスが必要です。最初は、この SQL ステートメントで自分のやりたいことができると思っていました。
select * from TableA where ID < 12 intersect select * from TableB where ID < 12
minus
select * from TableB where ID < 12;
しかし、これはうまく機能していません。交差が原因で、行全体に交差を使用しているため、IDのみに交差を使用する必要があり、IDの交差がある場合(1,2,3)、IDTableA with ID 1,2,3
マイナス TableB with ID 1,2,3
を使用する必要があります。しかし、どのように?それとも何かが恋しいですか?何か案は?ありがとうございました