![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Cумма по ВЫЧИСЛЯЕМОМУ полю
Gamar © (2002-04-20 12:15:00)Кто-нибудь знает, как получить сумму по ВЫЧИСЛЯЕМОМУ полю?
Дело такое... Есть в Парадоксе два поля А и В и в Table1 описывается третье поле С = Round(A) + Round(B).
Найти сумму по полю А можно легко через TSQL (Select Sum(A)...). Но не напишешь же (Select Sum(С)...), ведь поле С описывается только в Table1, да и написать (Select Sum(Round(A) + Round(B))...) тоже вроде нельзя.
Может через параметры как-то можно, или через свойство DataSource в TTable???
Помогите, пожалуйста, кто знает...
Sergey13 (2002-04-23 10:31:00) [1]В EhLib есть такае штука как SumList, а в DbGridEh есть подсчет суммы по любому полю (в т.ч. по вычисляемому)
koks (2002-04-23 09:59:00) [2]Если ты вычисляешь поле в Delphi, то и производить с ним манипуляции можешь только в Delphi. Для того, чтобы использовать поле в SQL, тебе нужно определить поле ну уровне "движка", который будет компилить и выполнять запрос.
Т.Е. в твоем случае (TTable) - только навигационный проход по всем записям с подсчетом суммы.
Если хочешь SQL - тогда надо:
ALTER TABLE ADD COLUMN NewFiled ...
UPDATE TABLE SET NewField ...
SELECT Sum(NewField) ...
ALTER TABLE DROP COLUMN ...
Вот и смотри, шо тебе легче...
Anatoly Podgoretsky (2002-04-23 09:49:00) [3]Просуммируй вручную
Gamar (2002-04-23 01:40:00) [4]Поправка. Я имел ввиду не TSQL, а TQuery...
Gamar (2002-04-23 01:35:00) [5]Это так, но Round - для примера. На самом деле там не Round, а RoundCurrency - огругление до целых копеек в типе Currency.
Вот я и подумал, как TSQL иметь доступ к вычисляемому полю, определенному в TTable?.. (TSQL связана, естественно, с TTable)
Andrus (2002-04-20 21:51:00) [6]select sum (round(A)+round(B))from ....
Gamar (2002-04-20 18:03:00) [7]Ну что, никто не знает?
Формулирую по другому: как через TSQL читать вычисляемые поля, описанные в TTable?