|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Суммирование вычисляемых полей
Уважаемые, подскажите пожалуйста как просуммировать вычисляемые поля.
Имеются 3 таблицы: покупатель, накладная и список товаров в накладной. Таблица "покупатель" и таблица "накладная" связаны по номеру покупателя. "Накладная" и "список товаров в накладной" связаны по номеру накладной. Структура второй таблицы "список товаров" такая: номер товара- количество-цена- сумма. Товаров может быть несколько. Поле сумма- вычисляемое поле (количество * цена). Необходимо создать SQL-запрос, чтобы в поле "итого" таблицы "накладная" заносилась сумма вычисляемых полей "сумма" из таблицы "список товаров в накладной". Что я сделал: создал в DataModule новый компонент Query и в DBGrid сослался на него вместо TTable. В свойстве SQL Query я прописал Select * from Shipping_list.db where (Customer_ID:=Customer_ID). Таблица "накладная" связалась с "покупатель", тут все ок. Потом создал еще один Query. Когда задаю запрос вида Select Sum (поле_сумма_из_таблицы_список_товаров) From таблица_список_товаров.db в TQuery и ставлю свойство актив в тру выдает ошибку: Invalid use of keyword Token: ) Хотя никакой лишней скобки нету. Если вместо вычисляемого поля подставить другое, то ошибок не наблюдается. Камрады, подскажите как быть, третий день бьюсь, все бестолку. |
#2
|
|||
|
|||
сам запрос приведите пожалуйста.
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#3
|
|||
|
|||
Код:
SELECT SUM (sum) from Shipping_list_Detail.db Shipping_list_Detail- список товаров в накладной, (sum)- вычисляемое поле. Сначала думал что sum зарезервированное имя, но при его переименовании свойство TQuery Active в true все-равно не ставится. |
#4
|
|||
|
|||
sum действительно зарезервированое поле.
попробуйте так: Код:
SELECT SUM (k.sum) as summa from Shipping_list_Detail.db k Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#5
|
|||
|
|||
Black Raider
Попробовал, все та же ошибка, переименовал вычисляемое поле sum в itogo, пишет Invalid field name: Itogo. |
#6
|
|||
|
|||
Быть может последовательность моих действий не верна? Создаю Query и DataSource, связываю их. В Query создаю запрос Select Sum (itogo) From Table.db, затем пытаюсь add all fields в datamodule2.Query, но пишет что то вычисляемое поле которое я хочу просуммировать инвалидно.
|
#7
|
|||
|
|||
Суммировать по исходным полям.
Код:
select sum(quantiry*price) from table where ... |
#8
|
|||
|
|||
lmikle
Большое спасибо, так суммирует! Теперь как я понимаю нужно в TQuery, который содержит запрос из таблицы "накладная" прописать что поле "Сумма накладной" = SUM OF kol price from "Таблица список товаров"? Последний раз редактировалось smaw1989, 19.12.2010 в 22:09. |
#9
|
|||
|
|||
Все разобрался!)
Последний раз редактировалось smaw1989, 21.12.2010 в 19:18. |