powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вычет значений нескольких полей из значения поля другой таблицы.
13 сообщений из 13, страница 1 из 1
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934582
nc_aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть БД склада. В таблице "Детали" есть поле "На складе". Есть также таблица "Сборки", в которой все детали из той таблицы можно выбирать при помощи раскрывающегося списка. Мне нужно, чтобы, когда в таблице "Сборка" выбирались какие-то детали, "На складе" они вычитались. Я для этого сделала запрос на обновление, но проблема такова: если в таблице "Сборка" одна и та же деталь выбирается несколько раз, то из "На складе" вычитается только последнее значение. Как сделать, чтобы он суммировал значения одинаковых полей в таблице "Сборка" и вычитал их?

Раньше никогда не создавала никаких баз данных, поэтому особо мало что в этом понимаю.SQL не знаю, поэтому, если можно без него как-то это сделать, было бы замечательно.
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934614
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сгруппируйте сборку по деталям и получите общее количество по каждой детали.

Что-то вроде такого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT
	 Деталь
	,SUM(Количество)
FROM
	Сборка
GROUP BY 
	Деталь
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934617
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну или COUNT(*) вместо SUM(), если у вас в сборке одна строка = одна деталь.
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934648
nc_aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
movingshadowСгруппируйте сборку по деталям и получите общее количество по каждой детали.

Что-то вроде такого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT
	 Деталь
	,SUM(Количество)
FROM
	Сборка
GROUP BY 
	Деталь



А без SQL никак нельзя?
Еще у меня эти значения забиты как Текст, а не как Числовые, оператор суммы для них вообще применим?
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934672
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nc_auroraВ таблице "Детали" есть поле "На складе". Есть также таблица "Сборки", в
которой все детали из той таблицы можно выбирать при помощи раскрывающегося списка.
А сборки разве не хранятся на складе? В их состав не могут входить сборки поменьше? Почему
было принято решение их разнести по разным таблицам?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934673
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nc_auroraА без SQL никак нельзя?Судя по тому что вы написали "Я для этого сделала запрос на обновление", у вас Access? Попробуйте сделать запрос с группировкой по деталям и подсчетом количества, а на основе него сделайте запрос на обновление.
nc_auroraЕще у меня эти значения забиты как Текст, а не как Числовые, оператор суммы для них вообще применим?Какие значения забиты как текст? Количество?
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934679
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovА сборки разве не хранятся на складе? В их состав не могут входить сборки поменьше? Почему
было принято решение их разнести по разным таблицам?
Может сборки это что-то типа Bill of Materials (BOM)?
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934795
nc_aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovnc_auroraВ таблице "Детали" есть поле "На складе". Есть также таблица "Сборки", в
которой все детали из той таблицы можно выбирать при помощи раскрывающегося списка.
А сборки разве не хранятся на складе? В их состав не могут входить сборки поменьше? Почему
было принято решение их разнести по разным таблицам?


Поле "На складе" относится к таблице "Детали", имеется ввиду кол-во деталей на складе с вычетом тех, которые пошли на сборки. Сборки поменьше могут. Но какое отношение эти вопросы имеют к моей проблеме?

movingshadownc_auroraА без SQL никак нельзя?Судя по тому что вы написали "Я для этого сделала запрос на обновление", у вас Access? Попробуйте сделать запрос с группировкой по деталям и подсчетом количества, а на основе него сделайте запрос на обновление.
nc_auroraЕще у меня эти значения забиты как Текст, а не как Числовые, оператор суммы для них вообще применим?Какие значения забиты как текст? Количество?

Приложила картинку с запросом своим косячным.

Да ,количество. Я лох и сделала эти значения текстовыми, но без SQL они друг из друга вычитались и меня это устроило, а переделывать заново не хочется, потому как у меня самая простейшая база данных и проблема только одна.
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934819
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nc_auroraНо какое отношение эти вопросы имеют к моей проблеме?
Детка, мы в разделе проектирования БД. Проблемы работы с БД на 80% закладываются в неё уже
на этапе проектирования. В свою БД ты уже положила все возможные грабли. Теперь надо
отойти на два шага назад и перепроектировать базу с нуля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38934971
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov верно заметил, что текстовое поле Количество это моветон. Было бы правильно это переделать. Но если правильно не хочется, а хочется неправильно, то можно, конечно, написать что-то типа SUM(CInt(Количество)). Но лучше все-таки сделайте количество целым.

А по теме я уже написал что можно попробовать:
movingshadowПопробуйте сделать запрос с группировкой по деталям и подсчетом количества, а на основе него сделайте запрос на обновление.
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38935746
nc_aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще проблема заключается в том, что не суммируются значения одних и те же полей, а так я уже и с целыми попробовала. База как бы не понимает, что в таблице их несколько, а она видит только последнее значение. Нужно как-то суммировать по ключу, а запрос с группировкой не суммирует(
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38935847
movingshadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если запрос с группировкой не суммирует, то это неправильный запрос с группировкой )
...
Рейтинг: 0 / 0
Вычет значений нескольких полей из значения поля другой таблицы.
    #38935968
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вычет значений нескольких полей из значения поля другой таблицы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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