create table Document(
DocKey char(1),
DocTypeKey char(1));
create table DocumentField(
DocKey char(1) references Document(DocKey),
FieldId char(1),
FieldValue varchar(240));
insert into Document values ('A', 'X');
insert into Document values ('B', 'Y');
insert into Document values ('C', 'Z');
insert into DocumentField values ('A', '1', 'PO123');
insert into DocumentField values('A', '2', 'INV123');
insert into DocumentField values('B', '1', 'PO456');
insert into DocumentField values('B', '2', 'INV456');
insert into DocumentField values('C', '1', 'PO123');
insert into DocumentField values('C', '2', 'INV456');
select d.* from Document d
where d.DocTypeKey is not null
and (
select count(*)>=2 from DocumentField df
where df.DocKey = d.DocKey
and (
(df.FieldId = '1' and df.FieldValue like 'PO1%')
or (df.FieldId = '2' and df.FieldValue like 'INV1%')));
Y3JlYXRlIHRhYmxlIERvY3VtZW50KAogICAgRG9jS2V5IGNoYXIoMSksIAogICAgRG9jVHlwZUtleSBjaGFyKDEpKTsKY3JlYXRlIHRhYmxlIERvY3VtZW50RmllbGQoCiAgICBEb2NLZXkgY2hhcigxKSByZWZlcmVuY2VzIERvY3VtZW50KERvY0tleSksCiAgICBGaWVsZElkIGNoYXIoMSksCiAgICBGaWVsZFZhbHVlIHZhcmNoYXIoMjQwKSk7CgppbnNlcnQgaW50byBEb2N1bWVudCB2YWx1ZXMgKCdBJywgJ1gnKTsgCmluc2VydCBpbnRvIERvY3VtZW50IHZhbHVlcyAoJ0InLCAnWScpOwppbnNlcnQgaW50byBEb2N1bWVudCB2YWx1ZXMgKCdDJywgJ1onKTsKCmluc2VydCBpbnRvIERvY3VtZW50RmllbGQgdmFsdWVzICgnQScsICcxJywgJ1BPMTIzJyk7Cmluc2VydCBpbnRvIERvY3VtZW50RmllbGQgdmFsdWVzKCdBJywgJzInLCAnSU5WMTIzJyk7Cmluc2VydCBpbnRvIERvY3VtZW50RmllbGQgdmFsdWVzKCdCJywgJzEnLCAnUE80NTYnKTsKaW5zZXJ0IGludG8gRG9jdW1lbnRGaWVsZCB2YWx1ZXMoJ0InLCAnMicsICdJTlY0NTYnKTsKaW5zZXJ0IGludG8gRG9jdW1lbnRGaWVsZCB2YWx1ZXMoJ0MnLCAnMScsICdQTzEyMycpOwppbnNlcnQgaW50byBEb2N1bWVudEZpZWxkIHZhbHVlcygnQycsICcyJywgJ0lOVjQ1NicpOwoKc2VsZWN0IGQuKiBmcm9tIERvY3VtZW50IGQKd2hlcmUgZC5Eb2NUeXBlS2V5IGlzIG5vdCBudWxsCmFuZCAoCiAgICBzZWxlY3QgY291bnQoKik+PTIgZnJvbSBEb2N1bWVudEZpZWxkIGRmCiAgICB3aGVyZSBkZi5Eb2NLZXkgPSBkLkRvY0tleQogICAgYW5kICgKICAgICAgICAoZGYuRmllbGRJZCA9ICcxJyBhbmQgZGYuRmllbGRWYWx1ZSBsaWtlICdQTzElJykKICAgICAgICBvciAoZGYuRmllbGRJZCA9ICcyJyBhbmQgZGYuRmllbGRWYWx1ZSBsaWtlICdJTlYxJScpKSk7Cg==