powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Необходима помощь с запросом на выборку
8 сообщений из 8, страница 1 из 1
Необходима помощь с запросом на выборку
    #38860848
highlightswear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется бд, с 4-мя таблицами: s,p,j,spj - модель приведена ниже

модель бд

таблица поставок spj

таблица поставщиков s

таблица изделий j

таблица деталей p

SQL-файл с базой

необходимо:
Выдать номера изделий, для которых детали полностью поставляет поставщик S1. Т.е. поставляемых поставщиком S1 деталей достаточно для полного комплектования изделия. Состав деталей изделия можно оценить на основе базового набора данных таблицы поставка, имея в виду, что в базовом наборе данных отражен полный состав всех изделий.

Я не могу понять, как это можно сделать в одном запросе! Буду безумно благодарен, за любую помощь!
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38860860
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
highlightswearнеобходимо:
Выдать номера изделий, для которых детали полностью поставляет поставщик S1.
Сделай наоборот - выдай список изделий, для которых НЕ нужны детали, поставляемые НЕ поставщиком S1.
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38860892
highlightswear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinahighlightswearнеобходимо:
Выдать номера изделий, для которых детали полностью поставляет поставщик S1.
Сделай наоборот - выдай список изделий, для которых НЕ нужны детали, поставляемые НЕ поставщиком S1.

Я конечно благодарен за совет, но это меня еще больше запутало!
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38860951
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, ты ничего не напутал???.

ну и как узнать сколько каких деталей надо для изделия Х???


если ставить задачу именно как понял акина -
найти изделия, для которых поставляет все детали только поставщик С1... то тогда да, получаем список деталей которые поставляет не С1, и потом ищем изделия, для которых не нужны детали из этого списка.

но если то, как уточнил ты...
что должна быть ещо одна табилца, где написано -
изделие 1 всключает деталь1 кол1
изделие 1 всключает деталь2 кол2
...

и надо тогда по другому. но суть останеться таже.

от противного отталкиваться
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38860956
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
highlightswearAkinaпропущено...

Сделай наоборот - выдай список изделий, для которых НЕ нужны детали, поставляемые НЕ поставщиком S1.

Я конечно благодарен за совет, но это меня еще больше запутало!

что тут не ясного.

есть
поставщики - все.
есть поставщики не С1
есть детали все
есть детали которые поставляються поставщиком не С1(любым другим)
есть изделия все.
есть изделия для которых нужна хотябы одна деталь, поставляемая любым не С1 поставщиком
а есть изделия для которых не нужна деталь, поставляемая любым не С1 поставщиком.


найти рецепты блюд для которых в холодильнике, есть все ингридиенты.
это тоже самое, что взять все блюда из фиксированного списка, для которых выполняеться условие - им не нужны ингридиенты, которых нету.

ещо болле простой пример.

найти людей, которые сдали все книги === найти людей, у которых НЕТУ НЕСДАННОЙ КНИГИ (в данные библиотеки пока человек не возьмёт книгу он не попадает) поэтмоу откидываем вариант человек никогда не брал книгу.
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38860977
highlightswear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex564657498765453highlightswearпропущено...


Я конечно благодарен за совет, но это меня еще больше запутало!

что тут не ясного.

есть
поставщики - все.
есть поставщики не С1
есть детали все
есть детали которые поставляються поставщиком не С1(любым другим)
есть изделия все.
есть изделия для которых нужна хотябы одна деталь, поставляемая любым не С1 поставщиком
а есть изделия для которых не нужна деталь, поставляемая любым не С1 поставщиком.


найти рецепты блюд для которых в холодильнике, есть все ингридиенты.
это тоже самое, что взять все блюда из фиксированного списка, для которых выполняеться условие - им не нужны ингридиенты, которых нету.

ещо болле простой пример.

найти людей, которые сдали все книги === найти людей, у которых НЕТУ НЕСДАННОЙ КНИГИ (в данные библиотеки пока человек не возьмёт книгу он не попадает) поэтмоу откидываем вариант человек никогда не брал книгу.

Я понимаю к чему ты клонишь, но я не могу понять, как реализовать это средствами языка SQL в одном единственном запросе!!! Вот в чем загвоздка!
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38861026
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
highlightswear,

Не переживайте, статья Bill of material на википедии до сих пор не имеет русской версии, ниасилили.

Теоретически подсчет количества поставщиков изделия даст искомый результат: вывести номер где их = 1. Но практически это значит что изделие должно быть заведомо "укомлектовано" в бд.
...
Рейтинг: 0 / 0
Необходима помощь с запросом на выборку
    #38861046
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453если ставить задачу именно как понял акина
Я её понял правильно. А вот ТС - нет. Его подход не выдаст изделия, для которых вообще не требуется никаких деталей, хотя и они соответствуют поставленному условию. Обычная ловушка для студента.

highlightswearкак реализовать это средствами языка SQL в одном единственном запросе
Код: sql
1.
HAVING SUM(`поставщик` != 'S1') = 0
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Необходима помощь с запросом на выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]