Для задачи необходимо 2 таблицы:
Задача:
Необходимо получить такие номера изделий, детали для которых поставляются всеми поставщиками, среди поставляемых деталей которого есть детали красного цвета.
Но как реализовать запрос? Вот, что уже есть:
SELECT DISTINCT n_izd
FROM SPJ
WHERE n_post in
(SELECT n_post from SPJ
WHERE n_det in
(SELECT n_det FROM P
WHERE color='Красный'));
То есть, номера поставщиков, которые поставляют детали красного цвета, найдены. Что делать дальше?
Пример входных данных:
На выход: J4
В общем, у меня получилось то, что нужно. Получаем все изделия "некрасных" поставщиков и исключаем их из результата:
SELECT n_izd FROM SPJ WHERE n_izd NOT IN (
SELECT n_izd FROM SPJ WHERE n_post NOT IN (
SELECT n_post FROM SPJ JOIN P ON P.n_det = SPJ.n_det WHERE P.color = 'Красный'
)
) GROUP BY n_izd
Не уверен, что это лучший запрос, который можно было составить, но он работает )
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости