Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150

Сумма заказа sql

03.01.2017, 03:47. Показов 1892. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, хочу сделать подсчёт полной суммы заказа, так-как в запросах не очень силён, хочу немного помощи)
В общем в заказе есть комплектующие задействованные в нём и выполняемый вид работ, сумму по комплектующим я сделал через вычисляемое поле, осталось только её сложить с ценой вида работ, есть отдельная форма на которой я буду делать все запросы и вот на ней нужно провернуть этот запрос, для меня он самый трудный из всех тех которые мне нужно сделать, но с остальными я и сам разберусь, главное сделать этот, нужно вывести таблицу со всеми заказами ну и с подсчитанной суммой для каждого, я кое-что пытался делать сам, но не очень в этом силён, вот проект с базой, если кому поможет, буду очень признателен помощи
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.01.2017, 03:47
Ответы с готовыми решениями:

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

SQL запрос Delphi 7 по количеству стоимости заказа
У меня эсть две таблицы DBGrid1 DBgrid2. В DBGrid1 поля - количество товара и стоимость заказа. В DBgrid2 поле стоимость товара. Как мне...

Сумма заказа
Фома заказа, в ней две подчиненные формы позиции и рамки. сумма за рамки считаются поле 1, сумма за позиции поле 2, как вывести сумму за...

10
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
03.01.2017, 09:55
На вскидку запрос может выглядеть так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TZaprosi.Button1Click(Sender: TObject);
begin
  DM.ADOQuery1.sql.Text :=
    'SELECT Z.ID_Zakaza, (SUM(K.Kol * K.Cena) + '+
    '  (select SUM(Cena) from Raboti_in_zakaz where ID_Zakaza = Z.ID_Zakaza)) AS [Итого] '+
    'FROM Zakaz Z left join Komplec_in_zakaz K on Z.ID_Zakaza = K.ID_Zakaza '+
    'where Z.ID_zakaza = :ID_Z '+
    'group by Z.ID_Zakaza';
 
    //где :IDZ является параметром и должен принимать значение ID определенного заказа, например
  DM.ADOQuery1.Parameters[0].Value := <какая-нибудь переменная, содержащая ид заказа>
  DM.ADOQuery1.open;
end;
Без условия WHERE, в котором определяется конкретный заказ, запрос вернет суммы по всем заказам, находящимся в базе.
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
03.01.2017, 11:21
Цитата Сообщение от Скандербег Посмотреть сообщение
запрос вернет суммы по всем заказам, находящимся в базе
1) Я бы это запрос сохранил в БД и можно потом в SELECT-е выбрать это запрос как таблица
2) Перед DM.ADOQuery1.sql.Text := думаю что надо DM.ADOQuery1.sql.Clear
Миниатюры
Сумма заказа sql  
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
03.01.2017, 13:26
Цитата Сообщение от xxbesoxx Посмотреть сообщение
1) Я бы это запрос сохранил в БД и можно потом в SELECT-е выбрать это запрос как таблица
Как параметр передавать?
И в тексте запроса у вас, видимо случайно, пропущен символ "+" между функцией SUM и вложенным запросом.
Цитата Сообщение от xxbesoxx Посмотреть сообщение
2) Перед DM.ADOQuery1.sql.Text := думаю что надо DM.ADOQuery1.sql.Clear
Вызывать метод Clear не нужно, если идет присвоение свойству Text, список строк при этом очищается автоматически.
0
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
03.01.2017, 14:50  [ТС]
Спасибо, а можно чуть подробней про переменную с id заказа?А то с такими запросами вообще в первый раз сталкиваюсь)
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
03.01.2017, 15:18
Лучший ответ Сообщение было отмечено RideRS как решение

Решение

Про переменную было сказано условно.
Так будет более понятно?
Delphi
1
2
3
  ...
  DM.ADOQuery1.Parameters[0].Value := 8;  
  ..
Смысл в том, чтобы присвоить параметру нужное значение ID_Zakaza.
А какое значение будет подставлено в значение параметра - это уже зависит от организации выбора заказа на форме.
1
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
03.01.2017, 15:53  [ТС]
Да, так действительно понятнее, а то я уже надумал там себе)
спасибо вам большое за помощь)

Добавлено через 23 минуты
Ещё есть вопросец, как применить запрос к выбранному в таблице заказу?
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
03.01.2017, 16:33
В какой таблице? Где она находится и какой компонент доступа к данным (ADOTable) для этого используется?
0
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
03.01.2017, 16:40  [ТС]
Может глупо, но я имею в виду, если вынести на форму с запросами таблицу с заказами и при нажатии на строку с заказом выполнять запрос на подсчёт суммы.TZakaz таблица.
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
03.01.2017, 17:01
Вынести да, можно, но какой-то компонент доступа должен быть подключен к DBGrid, чтобы грид этот отображал заказы.
Про него и вопрос.
К примеру, на главной форме есть DBGrid1, который через DSZakaz и TZakaz подключен к таблице БД Zakaz.

Если взять за пример эту связку DBGrid1 - DSZakaz - TZakaz - Zakaz,
то для параметра взять ID_Zakaza из выбранной в DBGrid1 строки можно так:
Delphi
1
2
3
 ...
  DM.ADOQuery1.Parameters[0].Value := DM.TZakaz['ID_Zakaza'];  
  ..
Добавлено через 10 минут
Если разместить на форме с запросами ADOTable, DataSource и подключится к таблице Zakaz, данные которой будут отображаться в DBGrid2, то и присвоение значения параметру будет точно таким же, только без приставки DM и тем именем ADOTable, которое будет дано.
0
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
03.01.2017, 17:20  [ТС]
Всё, понято, спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2017, 17:20
Помогаю со студенческими работами здесь

Как? Сумма заказа
Код накладной заказ Товар количество товара Цена товара в накладной 1 1 тушь ...

Итоговая сумма например (заказа)
Добрый день. Сделана база данных &quot;По заказам по клиентам&quot;. Программа оформлена в C# Forms Каждый заказ состоит из нескольких позиций...

Итоговая сумма заказа по товарам
Здравствуйте! Простите за глупый, возможно, вопрос, но я что-то никак не могу понять как это сделать... Итак, имеются такие вот таблички: ...

Общая сумма заказа VBA access
Добрый день! Есть форма Меню. В ней поля СтоимБл, КолПорц, ОбщСт и кнопка РасчСт. Поле СтоимБл берётся из таблицы Блюда. Поле...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru