powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос бд склада
7 сообщений из 7, страница 1 из 1
Запрос бд склада
    #39956619
Dmitry_Perv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите пожалуйста с запросом для базы данных склада. Необходимо вывести список заказчиков, которым поставляли все наименования товаров, имеющиеся на складе за определенный момент времени;

ОТГРУЗКА
АРТИКУЛ -уникальный код товара
ДАТА_ОТГРУЗ - когда был отгружен товар заказчику
ЗАКАЗЧИК
КЛАДОВЩИК
НОМ_ЗАКАЗА
НОМ_ОТГРУЗ -РК таблицы

ТОВАР
АРТИКУЛ - РК
ДАТА_РЕАЛИЗ - срок годности товара
КОЛИЧ_БРАКА
КОЛИЧЕСТВО
НАИМЕНОВАНИЕ - название товара
ПОСТАВЩИК
ЦЕНА

ПРИЁМКА
АРТИКУЛ
ДАТА_ПОСТ - дата поставки
КЛАДОВЩИК
НОМ_ПОСТ - номер поставки (РК)
ПОСТАВЩИК

Данных, вроде бы, достаточно. Помогите пожалуйста, хотя бы подскажите в каком направлении двигаться. Заранее безумно благодарен.
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956629
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_Perv,

Всё связать по артикулу, отфильтровать по дате между поставкой и отгрузкой.
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956688
Dmitry_Perv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster, а как учесть ВСЕ наименования товаров? (Всего их 6) Не перечислением же? Считать каким-то образом?
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956692
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_Perv,

Зачем их учитывать? Они все, что есть сами и выберутся.
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956731
Dmitry_Perv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster, дело в том, что товаров у меня 20, а наименований 6, они повторяются.

Написал такой запрос. Он выводит всех, кто заказывал вообще, а мне нужно так, чтобы выводились те, кто заказывал все 6 наименований. Такой у меня только 1 заказчик

SELECT "ОТГРУЗКА"."ЗАКАЗЧИК"
FROM "ТОВАР" INNER JOIN "ОТГРУЗКА"
ON "ТОВАР"."АРТИКУЛ" = "ОТГРУЗКА"."АРТИКУЛ"
JOIN "ПРИЁМКА"
ON "ТОВАР"."АРТИКУЛ" = "ПРИЁМКА"."АРТИКУЛ"
WHERE "ОТГРУЗКА"."ДАТА_ОТГРУЗ">"ПРИЁМКА"."ДАТА_ПОСТ"
AND "ОТГРУЗКА"."ДАТА_ОТГРУЗ" BETWEEN '01-ЯНВ-19' AND '31-ДЕК-21'
GROUP BY "ОТГРУЗКА"."ЗАКАЗЧИК"
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956774
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_Perv,

having count(distinct АРТИКУЛ) =
...
Рейтинг: 0 / 0
Запрос бд склада
    #39956786
Dmitry_Perv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkomyagkii_newbi, Да, запрос получился. Прикреплю, может кому понадобится

SELECT "ОТГРУЗКА"."ЗАКАЗЧИК"

FROM "ТОВАР" INNER JOIN "ОТГРУЗКА"
ON "ТОВАР"."АРТИКУЛ" = "ОТГРУЗКА"."АРТИКУЛ"
JOIN "ПРИЁМКА"
ON "ТОВАР"."АРТИКУЛ" = "ПРИЁМКА"."АРТИКУЛ"

WHERE "ОТГРУЗКА"."ДАТА_ОТГРУЗ">"ПРИЁМКА"."ДАТА_ПОСТ"
AND "ОТГРУЗКА"."ДАТА_ОТГРУЗ" BETWEEN '01-ЯНВ-19' AND '31-ДЕК-21'

GROUP BY "ОТГРУЗКА"."ЗАКАЗЧИК"

HAVING COUNT ( DISTINCT "ТОВАР"."НАИМЕНОВАНИЕ")=(SELECT COUNT (DISTINCT "ТОВАР"."НАИМЕНОВАНИЕ") FROM "ТОВАР")

Всем огромное спасибо за помощь.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос бд склада
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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