Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

Подскажите алгоритм   Найти похожие ветки 

 
NataliK   (2003-06-02 11:35) [0]

Добрый день!
Проблема такова есть Парадоксовская база
F1 F2 f3
6 5 (5+3)*X
6 3 (5+3)*X
8 2 (2+1)*Y
8 1 (2+1)*Y
что бы определить F3 надо знать сумму f2 по одной F1.
Школьнай вопрос где лучше хранить эту сумму f2 а запомнить ее наверное надо Получить ее я расчитываю через SQL запрос.


 
McSimm2   (2003-06-02 11:39) [1]

А почему результат вычисления нельзя прямо в поле f3 сохранить - высчитывай и записывай...


 
Sandman25   (2003-06-02 11:42) [2]

Если сумму нужно именно хранить, то напрашивается отдельная таблица
типа
f1 f2
6 8
8 3
А если извлекать динамически, то
select sum(f2), f1
from t1
group by f1


 
Sandman25   (2003-06-02 11:45) [3]

McSimm2 (02.06.03 11:39)

Тогда при изменении F2 в одной записи придется изменять F3 в куче записей с тем же id из F1. Что не есть хорошо, особенно при многопользовательской работе. Нет нормализации.


 
NataliK   (2003-06-02 11:50) [4]

Можно, но я запуталась < т.е
Я должна пробежаться по Таблице выполнить Sql запрос и посчитать F3 . Мне кажется, можно как-то проще.Может с Lookup
посчитать в цикле или еще как-нибудь


 
Sandman25   (2003-06-02 11:59) [5]


var p: pointer;
begin
with query1 do
begin
close;
sql.text := "select count(*) from table1 where f1 = :f1";
prepare;
with table1 do
begin
p := getbookmark;
disablecontrols;
try
first;
while not eof do
begin
query.params[0].asInteger := table1f1.asInteger;
query.open;
... // обработка значения
query.close;
next;
end;
finally
gotobookmark(p);
enablecontrols;
end;
end;


 
NataliK   (2003-06-02 12:04) [6]

Спасибо! Сейчас попробую с закладочками,может именно этот выход подойдет



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

Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.031 c
14-84703
kull
2003-06-04 18:36
2003.06.26
А кто знает какие системы регистрации багов?


3-83969
NewD
2003-05-29 08:51
2003.06.26
Как избавиться от слова (Memo) и добавить кнопку.


11-84064
kvv1974
2002-10-04 09:02
2003.06.26
Обработка KeyDown, KeyUp


14-84645
Knight
2003-06-05 20:56
2003.06.26
Алгоритмы, теоремы и др.


7-84810
Гость
2003-04-16 15:32
2003.06.26
Программное нажатие Print Screen





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский