Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
 Аватар для HaRuKy
5 / 5 / 3
Регистрация: 20.03.2011
Сообщений: 299

Запрос на расчет остатка количества материалов

07.01.2015, 12:53. Показов 5083. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Подскажите, как правильно написать запрос на расчет остатка материалов по накладной. Схема данных приведена на рисунке. Есть два вида операции (R3.Vid_op) : прием и передача, соответственно когда накладная на прием, то в БД заносится определенное количество материала, если накладная на передачу,то из БД вычитается переданное количество материалов. Как можно расчитать остаток материалов?
Миниатюры
Запрос на расчет остатка количества материалов  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2015, 12:53
Ответы с готовыми решениями:

Запрос расчет остатка деталей
Подскажите как правильно создать запрос на получение остатка по деталям с группировкой по весу, заказу, цеху. В базе есть 2 таблицы...

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

Спроектировать БД: Расчет материалов и комплектующих
Кто-то делал подобное? Помогите пожалуйста или пример для наглядности. :read:Только начал работать в FoxPro и тяжеловато идет ...

3
 Аватар для HaRuKy
5 / 5 / 3
Регистрация: 20.03.2011
Сообщений: 299
07.01.2015, 13:24  [ТС]
Как можно объединить два запроса, и вычислить остаток количества товара?
Написал запросы на определения количества материалов по накладным на прием и передачу
SQL
1
2
3
4
5
SELECT R1.Naimen, R2.Kol_vo
FROM R1,R2,R3
WHERE (R1.Nom_nom=R2.Nom_nom) AND 
           (R2.Nom_nakl=R3.Nom_nakl) AND 
           (R3.Vid_op='прием')
SQL
1
2
3
4
5
SELECT R1.Naimen, R2.Kol_vo
FROM R1,R2,R3
WHERE (R1.Nom_nom=R2.Nom_nom) AND 
           (R2.Nom_nakl=R3.Nom_nakl) AND 
           (R3.Vid_op='передача')
0
 Аватар для HaRuKy
5 / 5 / 3
Регистрация: 20.03.2011
Сообщений: 299
08.01.2015, 12:52  [ТС]
Переделал запрос, вычисляет остаток, но не совсем правильно, т.е. он суммирует количество товаров в накладной на прием и вычитает суммарное количество товаров в накладной на передачу, данные значения дублирует во остальные поля, в зависимости от количества вида товаров (Nom_nom).
Как переделать запрос, чтобы вычислялся остаток для каждого вида товара?
Например: товар 555 - в количестве 10 шт (прием) и 5 шт (передача) остаток составляет 5 шт, товар 594 - в количестве 15 шт (прием) и 10 (передача), остаток 5 шт и т п
SQL
1
2
3
4
5
6
SELECT R2.Nom_nom, 
(SELECT SUM(R2.Kol_vo) FROM R2,R3 WHERE (R2.Nom_nakl=R3.Nom_nakl) AND (R3.Vid_op=’прием’)) AS Priem,
(SELECT SUM(R2.Kol_vo) FROM R2,R3 WHERE (R2.Nom_nakl=R3.Nom_nakl) AND (R3.Vid_op=’передача’)) AS Peredacha,
(SELECT SUM(CASE WHEN R3.Vid_op=’прием’ THEN R2.Kol_vo ELSE – R2.Kol_vo END) FROM R2,R3 WHERE R2.Nom_nakl=R3.Nom_nakl) AS Ostatok
FROM R2
GROUP BY R2.Nom_nom
Данный запрос работает следующим образом:
Миниатюры
Запрос на расчет остатка количества материалов  
0
0 / 0 / 0
Регистрация: 29.12.2014
Сообщений: 13
11.01.2015, 21:19
Вы забыли в подзапросах сделать ограничение выборки по товару, поэтому у вас по всем товарам и считается. Вот пример первого подзапроса:

SQL
1
(SELECT SUM(R22.Kol_vo) FROM R2 AS R22 JOIN R3 AS R33 ON (R22.Nom_nakl=R33.Nom_nakl) WHERE (R22.NOM_NOM = R2.NOM_NOM AND R33.Vid_op=’прием’)) AS Priem,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2015, 21:19
Помогаю со студенческими работами здесь

Расчет веса геометрических фигур из различных материалов
Условия задания таковы: " Расчет веса геометрических фигур из различных материалов ". Нужна помощь... сразу благодарю.

Вывод определенный количества материалов
Подскажите как вывести на каждой странице по 5 картриджей например Приложил код страницы по выводу <? include ('blocks/bd.php'); ...

Расчет остатка в MS Access
Здравствуйте! Таблица учета абонентов содержит в себе данные "Адрес, ФИО, дата заключения договора, оплачено, остаток средств" Как...

Расчет амортизации методом уменьшаемого остатка
необходимо расчитать амортизацию методом уменьшаемого остатка. Проблема состоит в выводе ответа на несколько лет вперед рассчитатнной...

Расчет остатка топлива на АЗС в MS Access 2003
Добрый день. Подскажите пожалуйста, как мне рассчитать остаток топлива на АЗС. Есть таблица ТТН (приход топлива) и Ведомость расходов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru