Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

Итоговые строки в таблице.   Найти похожие ветки 

 
_zerg   (2003-06-21 11:15) [0]

Здравствуйте!

Подскажите пожалуйста, как можно организовать следующее:
имеется таблица
Наименование1 ... ... Сумма1
Наименование2 ... ... Сумма2
Наименование3 ... ... Сумма3
...

так вот, некоторые из сумм должны складываться из других, т.е., напр., Сумма2 = Сумма3 + Сумма1
т.е. как бы вычисляемая строка, а не поле

Может кто-то видел статьи на эту тему?

Спасибо!


 
Наталия ©   (2003-06-21 11:30) [1]

А по какому принципу производится сложение?


 
XanderMan ©   (2003-06-21 11:39) [2]

Не совсем понятна задача


 
Anatoly Podgoretsky ©   (2003-06-21 11:43) [3]

Вычисляемые поля


 
XanderMan ©   (2003-06-21 11:51) [4]

>Вычисляемые поля

Здесь получается, что в одном случае поле обычное, а в другом - вычисляемое. Непонятен принцип, по которому должно проводиться суммирование. Кроме того, имхо, данную задачу (получения суммы) необходимо решать, используя агрегатные функции


 
Семен Сорокин ©   (2003-06-21 11:53) [5]

2_zerg
Может стоит пересмотреть структуру базы данных.


 
MsGuns ©   (2003-06-21 13:32) [6]

Коварный зерг задал вопрос и слинял ;)))
Следующий _protoss ?


 
_zerg   (2003-06-23 07:39) [7]

я не слинял, просто в инет выхода нет!
сложение должно идти так, что задаются идентификаторы складываемых строк в др. таблице (1233+342-222=3243+111-9999), правдо я ещё не определился как их хранить, вот поэтому и спрашиваю как можно решить такую задачу!


 
Rol   (2003-06-23 07:50) [8]

Таблица правил сложения:
RULE_ID - это понятно
RULE_VALUE - а здесь - правило, например: ID1+ID2+...+IDn, где IDi - ID из таблицы с суммами.
Плюс хранимая процедура. Решение, безусловно, далеко не оптимальное, но это первое, что пришло в голову.


 
Zacho ©   (2003-06-23 10:19) [9]

Самое простое - перейти на FB 1.5 в котором есть EXECUTE STATEMENT, иначе придется это делать на клиенте.


 
Соловьев ©   (2003-06-23 10:22) [10]


> 1233+342-222=3243+111-9999

а где тут сумма?


 
Sandman25 ©   (2003-06-23 10:32) [11]

Если сумма уже записана в таблицу, то зачем ее еще раз рассчитывать?


 
_zerg   (2003-06-24 08:46) [12]

идут строки с суммами и в конце идёт итог. строка
далее идут снова строки и снова итог. стр.
затем итог по всем итогам. стр.


 
ЮЮ ©   (2003-06-24 08:51) [13]

И где они так ходят? Во всех Report-ах это обычно заложено. Или ты хочешь всё это в DBGride, да ещё с возможностью редактировать?


 
ЮЮ ©   (2003-06-24 09:06) [14]

Объединить результаты нескольких запросов, возвращающих итоги разной глубины детализации. Првда это возможно при нормальной структуре данных. А судя по

"cложение должно идти так, что задаются идентификаторы складываемых строк в др. таблице (1233+342-222=3243+111-9999), правдо я ещё не определился как их хранить, вот поэтому и спрашиваю как можно решить такую задачу!"

вряд ли у тебя выйдет :-(




 
Danilka ©   (2003-06-24 09:39) [15]

хех, видимо, хочется бланк бух.баланса в ДБГрид загнать..

или нет? обьясни задачу по-человечески, а не загадками


 
интересующийся   (2003-06-24 09:40) [16]

есть компонент grida от devexpress
там можно промежуточные итоги показывать и др.
называется expressquantumgrid
ищи...


 
_zerg   (2003-06-24 10:45) [17]

ну примерно бланк, тут специфический дневник ден. средств.
но суть прим. таже.
стр. кот. суммируются, редактировать не нужно, они должны автоматически пересчитываться!

на счёт плохой структуры, возможно, но я ж просил подсказать, если кто имеет какие-то мысли.


 
Danilka ©   (2003-06-24 10:49) [18]

_zerg (24.06.03 10:45)
для этого, думаю, тебе нужен не ДБГрид, а обычный грид, есть, гриды которые понимают формулы в ячейках, поищи на торри.нет.


 
Anatoly Podgoretsky ©   (2003-06-24 10:50) [19]

XanderMan © (21.06.03 11:51)
Так не получается, а получается, что всегда расчетное.

В одних случаях Сумма1 = Сумма1, в других Сумма2 = Сумма3 + Сумма1


 
интересующийся   (2003-06-24 11:43) [20]

_zerg
> Подскажите пожалуйста, как можно организовать следующее:
>имеется таблица
>Наименование1 ... ... Сумма1
>Наименование2 ... ... Сумма2
>Наименование3 ... ... Сумма3

по твоей задаче, вроде надо еще две таблицы создать
в первой - "группы сумм"
во второй - связь между суммами и "группами сумм"


 
интересующийся   (2003-06-24 11:47) [21]

это лучше, чем вычисляемые поля
всегда можно будет изменить принадлежность суммы
той или иной "группе сумм"
(надо же придумать такое - группа сумм)


 
_zerg   (2003-06-24 12:46) [22]

да мне особо-то и не ДБ грид нужен, мне нужно чтобы эти строки в таблице хранились и пересчитывались при изменениях тех, от которых они зависят.


 
_zerg   (2003-06-24 12:48) [23]

интересующийся
>по твоей задаче, вроде надо еще две таблицы создать
>в первой - "группы сумм"
>во второй - связь между суммами и "группами сумм"

а пересчёт? в тригере или как?


 
интересующийся   (2003-06-24 13:13) [24]

_zerg
>а пересчёт? в тригере или как?

запрос с группировкой




Страницы: 1 вся ветка

Текущий архив: 2003.07.17;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.013 c
14-55722
r0n1n
2003-06-30 00:15
2003.07.17
Чат


1-55629
yozch_
2003-07-03 22:58
2003.07.17
Jpeg в OpenPictureDialog


3-55462
softmaster
2003-06-22 19:46
2003.07.17
помощь в создании запроса


6-55689
levi
2003-05-08 13:35
2003.07.17
подключение сетевого диска


1-55521
mm0
2003-07-05 00:24
2003.07.17
Проблема с TList.