|
24 / 2 / 0
Регистрация: 25.01.2021
Сообщений: 134
|
|
Запрос по вычислению суммы заказа18.01.2023, 10:25. Показов 10523. Ответов 188
Метки нет (Все метки)
С помощью запроса вычислить сумму заказа которая будет вставляться в таблицу Журнал заказов в поле "Итог" нажатием кнопки "Рассчитать итог". Суммой заказа будет являться сумма полей "Итог" из таблицы Заказы, с одинаковым номером заказа. То есть клиент заказывает несколько блюд и в итоге получается итоговая сумма.
0
|
|
| 18.01.2023, 10:25 | |
|
Ответы с готовыми решениями:
188
Проверка суммы нового заказа с остатком суммы договора |
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 24.01.2023, 15:58 | ||||||
|
1. Любая таблица должна иметь главный ключ для целостности данных.
2. Поле счетчик сугубо служебное поле, оно всегда создает уникальное значение в рамках таблицы и потому его используют как главный ключ. Использовать его для чего-то другого надо с осторожностью. 3. Номер в журнале заказов просто числовое поле и счетчиком быть не должно в силу особенностей работы этого типа, об этом я писал выше. 4. Как получить следующий номер заказа я показал, только с таблицей ошибся. У вас номера заказов берутся из таблицы Журнал заказов и запрос тогда будет таким:
1
|
||||||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 18:14 | |
|
Смотрю я на всю эту красоту и думаю, делать как в настоящей базе или доковырять то что есть
![]() По правильному было бы так, (сейчас я говорю о примере из коммерческого проекта): Создается таблица "Журнал заказов" в неё заносится номер заказа при создании нового заказа. В другую подчиненную таблицу, "Заказы" по вторичному ключу (поле номер заказа из "Журнал заказов"), при этом имеющую своё автоинкрементное поле первичный ключ (скажем id) мы заносим позиции заказа, соответствующие "Журналу заказов" и это будет правильно. В случае удаления, удаляем поля из таблиц . Из журнала заказов одну строку, из из Заказов - строки соответствующие удаленной. Предлагаю переделать базу как правильно, если вы не против? Добавлено через 1 минуту В общем я пока приступаю, к старой версии мы всегда сможем вернуться. Добавлено через 7 минут В остальные таблицы так-же добавим первичные ключи поле id - счетчик.
1
|
|
|
24 / 2 / 0
Регистрация: 25.01.2021
Сообщений: 134
|
|
| 24.01.2023, 18:40 [ТС] | |
|
Я не против, спасибо большое за помощь...
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||
| 24.01.2023, 18:50 | ||
0
|
||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
||
| 24.01.2023, 18:54 | ||
|
Ну в общем базу переделал... Если есть замечания и предложения, готов выслушать.
0
|
||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 18:58 | |
|
Странно, файл не прикрепился.
А это аз буки и веди ... Все равно пишет не корректный файл. Архивну.
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||
| 24.01.2023, 19:11 | ||
|
Добавлено через 2 минуты Зарплата почему текстовое поле? Там что-то кроме числа предполагается вводить? Добавлено через 4 минуты Вот не нравится мне, что вес или объем порции задан как текст. Общий вес/объем блюда посчитать проблематично будет. Лучше его сделать числовым и добавить справочное поле ЕдИзмерения(гр., мл.) А вообще в рецептах мл=гр, а потому можно вообще отказаться от единиц измерения, оставив только число.
0
|
||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 19:15 | |
|
Ну вот ..
Если требовать последовательности номеров заказов, это не комильфо. Объясню. Во первых в большинстве случаев заказы не удаляются в системе, а получают статус удаленных, да для этого понадобится другое поле (например статус). Если все же удалять. . . в этом случае твой код то-же не поможет если удалят со средины. Кстати я знаю ребят, которые говорят, что бы не допустить злоупотреблений мы Ничего НЕ удаляем... Добавлено через 1 минуту Насчёт Зарплаты не увидел, это да. Добавлено через 37 секунд И вес то же делаем числовым.
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 24.01.2023, 19:15 | |
|
Дело не в удалении, а в том, что счетчик увеличит свое значение при попытке добавить новую запись, а не сохранить ее. Просто отказ от сохранения еще несуществующей записи уже увеличивает счетчик.
0
|
|
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 19:20 | |
|
А ты про таблицу Заказы порядковый номер в чеке, как то размышлял об этом и думаю что его правильнее считать циклом на лету, т.е. при удалении позиции, пересчитывать в цикле (т.е.) не хранить в базе.
Если есть другие варианты - предлагай. Добавлено через 1 минуту И да в этом случае, связь не годится...
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 24.01.2023, 19:26 | |
|
Не надо ничего пересчитывать. Я уже два раза приводил запрос, который возвращает порядковый номер. Можно не учитывать год, но обычно нумерацию с нового года начинают.
0
|
|
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 19:27 | |
|
В общем пока так.
1
|
|
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
|
| 24.01.2023, 19:28 | |
|
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|||||||
| 24.01.2023, 19:38 | |||||||
0
|
|||||||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
||
| 24.01.2023, 19:49 | ||
|
А по количеству, да - посчитает правильно. Я говорил не про журнал заказов, а о позиции блюда в заказе, при удалении там лучше пересчитывать к-во позиций. Добавлено через 1 минуту Ну а что касается счетчика, там просто нужно выдавать запрос на сохранение и при этом проверять наличие в заказе хотя бы одной позиции.
0
|
||
|
24 / 2 / 0
Регистрация: 25.01.2021
Сообщений: 134
|
|
| 24.01.2023, 20:30 [ТС] | |
|
Хотела спросить, зачем отключать каскадное удаление связанных записей в других связях и почему стоит такой параметр объединения?
И я так поняла счетчик в номере заказа в журнале мы оставляем
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|||
| 24.01.2023, 20:38 | |||
|
Заче
0
|
|||
|
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 705
|
||||||
| 24.01.2023, 21:11 | ||||||
|
ПытливыйНовый заказ будем добавлять так?
Да параметром, так не понимает.
0
|
||||||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 24.01.2023, 22:22 | |
|
Оформление заказа идет в несколько этапов.
1. Сделать запрос к таблице Журнал заказов и получить новый номер заказа. 2. Добавить запись с номером заказа в Журнал заказов. 3. Добавить в Заказы детализацию по всем позициям. Тут желательно иметь настроенную связь Мастер-деталь между Журналом и Заказами.
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 25.01.2023, 14:42 | |
|
Посмотрел я еще раз на схему и... в общем проще переделать, чем все что нужно исправить описать на форуме. Прикладываю переделанную БД и конечную схему.
Запрос Номер заказа возвращает следующий номер для заказа. Параметром идет год, за который надо получить номер. Запрос Журнал заказов возвращает Итог по всем позициям заказа. Запрос Детализация заказа возвращает стоимость по каждой позиции заказа.
1
|
|
| 25.01.2023, 14:42 | |
|
Помогаю со студенческими работами здесь
60
Составить программу по вычислению суммы ряда Нужны подробности по вычислению контролной суммы Написать программу на паскале по вычислению суммы 2+4+6+.+100 Напишите код по вычислению суммы элементов ряда Написать алгоритм и отладить программу по вычислению бесконечной суммы с точностью 0,001 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|