Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 47
1

Подсчет количества объектов в БД

29.10.2015, 08:05. Показов 574. Ответов 8
Метки нет (Все метки)

Добрый день!
Я реализую базу данных книжного магазина и у меня возник маленький вопрос: Как сделать, чтобы при продажи определенного количество книг, книги, которые были проданы (их количество), вычитались со склада? К примеру, на складе было 10 книг и продали 2 шт, на складе осталось 8.
Базу прилагаю ниже. Буду благодарен за помощь
Миниатюры
Подсчет количества объектов в БД  
Вложения
Тип файла: zip БД-Книжный Магазин.zip (854.9 Кб, 7 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2015, 08:05
Ответы с готовыми решениями:

Подсчет количества
Здравствуйте! База такая: люди, проучившиеся на разных уровнях в разных филиалах. Упрощенно: ID...

Запрос на подсчет количества
Здравствуйте. Как можно реализовать запрос, который выводит курсы, на которых студентов больше, чем...

Запрос на подсчет количества
Здравствуйте. Не могу составить запрос на подсчет количества программистов, чья премия составит...

Запрос на подсчет количества
Здравствуйте У меня возникла задача, подозреваю, что решить ее не сложно, но никак не могу...

8
Эксперт MS Access
16357 / 6792 / 1492
Регистрация: 21.06.2012
Сообщений: 12,543
29.10.2015, 08:37 2
Запросом
SQL
1
2
3
4
5
6
SELECT Книга.ID_Книга, Q1.Остаток
FROM Книга LEFT JOIN 
   (SELECT ID_Книга, Поставка.Количество-Nz( SUM(Продажа.Количество)) AS Остаток
   FROM Поставка INNER JOIN Продажа ON Поставка.ID_Поставка = Продажа.ID_Поставка
   GROUP BY Поставка.ID_Книга, Поставка.Количество) AS Q1 
ON Книга.ID_Книга = Q1.ID_Книга;
0
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 47
29.10.2015, 08:52  [ТС] 3
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Запросом
И как мне потом сделать, что бы при вводе в поле числа, оно отнимало от исходной таблицы?)
0
Эксперт MS Access
16357 / 6792 / 1492
Регистрация: 21.06.2012
Сообщений: 12,543
29.10.2015, 09:15 4
Цитата Сообщение от Callell Посмотреть сообщение
К примеру, на складе было 10 книг и продали 2 шт, на складе осталось 8.
У Вас нет склада, как такового, вычитать неоткуда. А из поставок тоже вычитать нельзя ... .
0
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 47
29.10.2015, 09:17  [ТС] 5
Цитата Сообщение от ltv_1953 Посмотреть сообщение
У Вас нет склада, как такового, вычитать неоткуда. А из поставок тоже вычитать нельзя ... .
Ну тут таблица поставка выступает в роли склада. Просто не правильно была названа.
0
Эксперт MS Access
16357 / 6792 / 1492
Регистрация: 21.06.2012
Сообщений: 12,543
29.10.2015, 09:25 6
Цитата Сообщение от Callell Посмотреть сообщение
Ну тут таблица поставка выступает в роли склада.
Еще раз - из поставок вычитать нельзя - не сможете сделать отчеты по поставкам/поставщикам/доходам - количества то "изуродуете".
0
Эксперт MS Access
26717 / 14397 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
29.10.2015, 09:25 7
Цитата Сообщение от Callell Посмотреть сообщение
Ну тут таблица поставка выступает в роли склада.
В роли "склада" выступает разность между поставками и продажами. Запрос, предложенный ltv_1953, высчитывает эту разность и дает актуальное состояние виртуального "склада".

Если нужно показать остатки по всем книгам, то достаточно подзапроса из вышепредложенного запроса, только поменяв там связь на LEFT JOIN
SQL
1
2
3
SELECT ID_Книга, Поставка.Количество-Nz( SUM(Продажа.Количество)) AS Остаток
   FROM Поставка LEFT JOIN Продажа ON Поставка.ID_Поставка = Продажа.ID_Поставка
   GROUP BY Поставка.ID_Книга, Поставка.Количество
1
Эксперт MS Access
16357 / 6792 / 1492
Регистрация: 21.06.2012
Сообщений: 12,543
29.10.2015, 09:32 8
Угу. Продажи идут из поставок, удобнее будет анализировать остатки не книг, а поставок
SQL
1
2
3
SELECT Поставка.ID_Поставка, Поставка.Количество, Поставка.Количество-Nz(SUM(Продажа.Количество)) AS Остаток
FROM Поставка LEFT JOIN Продажа ON Поставка.ID_Поставка = Продажа.ID_Поставка
GROUP BY Поставка.ID_Поставка, Поставка.Количество, Поставка.Количество;
1
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 47
29.10.2015, 09:41  [ТС] 9
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Продажи идут из поставок, удобнее будет анализировать остатки не книг, а поставок
Спасибо большое за помощь!)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2015, 09:41

Подсчет количества бд Производство
Добрый вечер форумчане! Подскажите, пожалуйста, как в форме табель в самом конце подсчитать...

Подсчет количества товаров
Суть в том что мне нужно в искать в Поставка.Количество и по коду и суммировать значения в Товары.В...

Запрос на подсчет количества
Здравствуйте. Есть база спортсменов. Некоторые могут участвовать в нескольких видах спорта. Как...

Подсчет количества записей
Задача: Вывести сведения о работающих в фирмах с указанием наименования деятельности и общее их...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.