次のような2つのテーブルがあります。
create table doi (
id number primary key not null,
-- Other columns omitted
);
create table doi_membership (
id number primary key not null,
doi_id number not null, --foreign key to doi.id
key_1 number not null,
key_2 number not null,
-- Other columns omitted
);
key_1 と key_2 のペアのセットがあり、指定された key_1 と key_2 のペアの完全なセットを含む doi があるかどうかを確認したいと考えています。これを行うために必要な SQL が思い浮かびません。それが役立つ場合、私はOracleデータベースを使用しています。何か案は?
アップデート:
うまく説明できなかったと思うので、例を挙げて説明します。
概念的には、1 つの DOI に key_1 と key_2 のペアのリストが含まれます。key_1 と key_2 のペアの独自のリストがあり、ペアのリストがペアのリストと完全に一致する DOI が存在するかどうかを確認したいと考えています。
したがって、次のような key_1 と key_2 のペアのリストを持つ DOI があるとします (これらの各行は、同じ doi に関連する個別の doi_membership 行です)。
1, 2
3, 4
5, 6
そして、次のペアのリストを持つ別の DOI:
1, 2
3, 4
5, 6
7, 8
私が持っているペアのセットは
1, 2
3, 4
5, 6
ペアのセットと私のペアのセットが完全に一致するため、指定された最初の DOI を一致させたいと考えています。2 番目の DOI は一致しません。
これで問題が解決することを願っています。