Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26

Вычисление значений в столбце за счет значений в другой таблице

28.06.2024, 17:46. Показов 1473. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, суть вопроса такая.
Есть 3 таблицы:

1) Modul - idModul, Title, Price;
2) Modul_in_Zakaz - idModul_in_zakaz, ZakazID, ModulID;
3) Zakaz - idZakaz, Number, Cost.

Можно ли сделать так, чтобы графа Cost заполнялась автоматически, суммируя значения Price?
Как пример есть модуль1 ценой 100 и модуль2 ценой 200,
В таблице Modul_in_Zakaz будут строки:
idModul_in_zakaz=1, ZakazID=1, ModulID=1
idModul_in_zakaz=2, ZakazID=1, ModulID=1
idModul_in_zakaz=3, ZakazID=1, ModulID=2
И чтоб в строке Zakaz было:
idZakaz=1, Number=001, Cost=400.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2024, 17:46
Ответы с готовыми решениями:

SQL. Вывод значений из таблицы и подсчет количества этих значений в другой таблице
Задание звучит так: Для таблиц user и phones, где соответствие записей определяется равенством user.id = phones.user_id привести 2 разных...

Ограничение значений в столбце в уже созданной таблице
Здравствуйте! Работаю в MySQL WorkBench. Скажите пожалуйста, если я уже создал таблицу, то можно ограничить ввод данных в столбец(тип...

Сопоставление значений в таблице со значениями в другой таблице
Добрый день! Помогите, пожалуйста, решить следующий пример: Существуют две таблицы: в первой таблице находятся данные, содержащие...

23
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.06.2024, 18:04
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
чтобы графа Cost заполнялась автоматически, суммируя значения Price?
В таблице нет (вычислимые поля есть, но вычисление только используя поля конкретной записи). Вычисляйте в запросе.
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
28.06.2024, 18:38  [ТС]
Т.е. не получится сделать запрос так, чтобы вычисление автоматизировать. Просто позднее мне нужно реализовать приложение для взаимодействия с этой БД. И когда клиент выберет нужные ему товары, стоимость автоматически выводилась
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.06.2024, 18:44
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
Т.е. не получится сделать запрос так, чтобы вычисление автоматизировать.
Написано - что в таблице не получится, почему в запросе то нельзя. Именно в запросе и Вам рекомендовано вычислять, например так
SQL
1
2
3
4
SELECT idZakaz, NUMBER, SUM(Price) AS Cost
FROM Zakaz INNER JOIN (Modul INNER JOIN Modul_in_Zakaz ON Modul.idModul = Modul_in_Zakaz.ModulID) ON Zakaz.idZakaz = Modul_in_Zakaz.ZakazID
GROUP BY idZakaz, NUMBER
HAVING idZakaz=1
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
28.06.2024, 19:07  [ТС]
А как тогда через INSERT? Просто по сути сам вопрос в том, как через запросы наполнить таблицу данными. Если поля по типу даты и номера заказа и вручную без проблем можно заполнить, то итоговую сумму хочется автоматизировать. Потому что строк в промежуточный таблице Modul_in_zakaz будет много, по количеству выбранных для покупки модулей, а вот ID заказа может быть меньше.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.06.2024, 19:44
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
А как тогда через INSERT?
Не через INSERT, а через UPDATE.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
29.06.2024, 00:41
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
Если поля по типу даты и номера заказа и вручную без проблем можно заполнить, то итоговую сумму хочется автоматизировать. Потому что строк в промежуточный таблице Modul_in_zakaz будет много, по количеству выбранных для покупки модулей, а вот ID заказа может быть меньше.
Сколько можно разговоры говорить? Где схема данных?
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
29.06.2024, 12:29
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
Можно ли сделать так, чтобы графа Cost заполнялась автоматически, суммируя значения Price?
Вас правильно просят показать схему данных т.к должны быть справочники: товар, цены и тбл. фактов: заказ(или что там у Вас) с подчиненной составЗаказа с указанием товара,его цены, количества и суммой ценаЕд*количество заказанных товаров в примечании (никакие запросы при этом не понадобятся, а хранить вычисляемое поле в таблице,(весьма дискуссионно)если это не супер-пупер объемная база, ни к чему ). Как-то так...
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
29.06.2024, 14:50  [ТС]
Схема выглядит примерно так
Миниатюры
Вычисление значений в столбце за счет значений в другой таблице  
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
29.06.2024, 15:05
Я бы клиента связал с заказом, а не с агентом.
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
29.06.2024, 15:48  [ТС]
Не, по сути клиент - это организация, потому заказ оформляет ее представитель.
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
29.06.2024, 19:42
Стесняюсь спросить:а чем отличается клиент от представителя организации? (в тбл.-спр.клиенты иметь поля представляетОрганизацию,доверенность и т.п)
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
29.06.2024, 19:44  [ТС]
Клиент - организация, с названием, карточкой предприятия, почтой и телефоном.
А представитель имеет имя и должность, вот и вся разница.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
30.06.2024, 00:13
судя по схеме, можно сделать основную форму Заказ, подчиненную Модули_заказа, заполнять подчиненную и после заполнения по кнопке рассчитать поле Итого - Cost на главной. Или поле удалить и рассчитывать в запросах. В зависимости от задач.

Добавлено через 3 минуты
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
Просто позднее мне нужно реализовать приложение для взаимодействия с этой БД
Если без формы, то нужно знать чем вы там будете взаимодействовать. Оно запросы поддерживает или аналог dlookup ?
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
30.06.2024, 11:20  [ТС]
Я через SQL запросы данные вношу, правда раз не придумал, как сделать заполнение, оставил поля со значениями null.

T-SQL
1
2
3
4
5
6
7
8
9
USE [Residential_Modules]
GO
 
INSERT INTO Zakaz   (Number, Type_of_payment, Prepayment, Payment_status, DTO, Shelf_life, 
                     Cost, Route, Address, Delivery_distance, Delivery_time, AgentID, Zakaz_TypeID)
     
     VALUES
           (101234, 'Безналичный', null, 1, '2024-07-01', '2024-07-15', null, 'ссылка на документ', 'ссылка на документ', '200 км', '2024-08-01', 2, 1)
GO
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
30.06.2024, 13:56
Цитата Сообщение от BOBRODbIR Посмотреть сообщение
Я через SQL запросы данные вношу
Никогда не понимал зачем "удалять зуб через зад". Почему нельзя иметь форму на таблице или запросе? Зачем создавать сложности?
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
30.06.2024, 14:10  [ТС]
Так в sql manager данные вносятся или через запрос, или напрямую в таблицу данных, разве нет?
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
30.06.2024, 15:46
Данные в таблицу вносятся\добавляются через ФОРМУ источником записей которой является таблица\запрос.Свободные формы (без источника записей), в большинстве случаев, используются для выбора объекта для просмотра\редактирования\печати или ввода критериев для отбора записей.
Вносить данные в таблицу через форму или через запрос это, таки, две большие разницы.
Стесняюсь спросить:а где Вы будете писать слово "безналичный" записываемое в поле Type_of_payment, т.к. в разных записях это значение будет разным ("наличный")
0
0 / 0 / 0
Регистрация: 17.10.2023
Сообщений: 26
30.06.2024, 16:13  [ТС]
У меня удалось сделать так, чтобы значения Cost и Prepayment заполнялись автоматически. Но не совсем так, как нужно, потому что в Cost он берет лишь одно значение, а нужно 4.
SQL
1
2
3
4
5
6
7
8
9
10
USE [Residential_Modules]
GO
 
UPDATE Zakaz
SET Cost = M.Price, Prepayment = Cost/3
FROM  Modul_in_zakaz AS MZ
INNER JOIN Modul AS M ON M.idModul = MZ.ModulID
INNER JOIN Zakaz AS Z ON Z.idZakaz = MZ.ZakazID;
 
GO
Миниатюры
Вычисление значений в столбце за счет значений в другой таблице   Вычисление значений в столбце за счет значений в другой таблице  
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
01.07.2024, 01:24
А так,не?
Вложения
Тип файла: rar tmp.rar (25.3 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2024, 01:24
Помогаю со студенческими работами здесь

Вычисление значений функции F для заданных значений значений параметров
Составить программу вычисления значений функций F для заданных значений параметров и значений вещественного аргумента X, изменяющегося от...

Надо подсчитать количество значений ''1'' в таблице www в столбце Столбец1
Подскажите пожалуйста, что я делаю не так Private Sub Command1_Click() Dim dbsNorthwind As Database Dim rst1 As Recordset Set...

Работа с MS Access: найти сколько в таблице в данном столбце искомых значений
Всем привет! У меня возник вопрос. Пожалуйста помогите программно найти сколько в таблице в данном столбце искомых значений. Таблица...

Запрос, чтобы в уже существующей таблице, заполнить примерно 400 значений в одном столбце
Доброго дня. Есть таблица, есть поля для заполнения датой. Как написать запрос, чтобы в уже существующей таблице, заполнить примерно 400...

Перебор значений в таблице и сравнение с другой
Здравствуйте. Нужна помощь. есть таблица в БД Oracle tabl с полями dat, otpravitel, poluchatel, jurnal и есть таблица tabl2 с полями...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru