У меня есть таблица контрактов с «кодами требований» (COXA) и таблица поставщиков с «кодами одобрения» (VNDAPP). Контракты могут иметь любое количество требований, а поставщики могут иметь любое количество разрешений.
Пример данных:
Contract Requirement (COXA):
CONTR REQMT
7736 1
7736 10
7737 1
7737 4
7737 6
7738 5
7739 1
Supplier Approval (VNDAPP):
VNDNO REQMT
10019 1
10020 1
10020 2
10020 10
10021 1
10021 4
10021 5
10021 6
Desired Result:
CONTR VNDNO
7736 10020
7737 10021
7738 10021
7739 10019
7739 10020
7739 10021
В другом вопросе Я получил ответ, который работает, когда я указываю номер контракта в запросе:
select sa.supplierid
from supplier_approval sa
where sa.approvalid IN (
select cr.requirementid
from contracts_requirement cr
where cr.contractid = 7736
)
group by sa.supplierid
having count(distinct sa.approvalid) = (
select count(*)
from contracts_requirement cr
where cr.contractid = 7736
)
Проблема в том, что мне нужно иметь подходящих поставщиков для каждого номера контракта.
Заранее спасибо!