Вниз
Скачать: CL | DM;

Вычисляемые поля   Найти похожие ветки 

← →
Muchacho   (2005-02-23 14:42) [0]

Здравствуйте! Всегда ли хорошо пользоваться вычисляемыми полями? Например если в таблице достаточно большое число записей и в каждом запуске вычисляются значения полей, не проще ли будет просто сохранить их в базе?


← →
DiamondShark ©   (2005-02-23 16:16) [1]

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


← →
Anatoly Podgoretsky ©   (2005-02-23 17:28) [2]

Ты задал вопрос о диалектике, на него есть ответ в русских поговорках, например про палку с двумя концами. Про нет худа без добра и т.д.
Так что следуй законам диалектики.


← →
Desdechado ©   (2005-02-23 18:36) [3]

я предпочитаю не хранить то, что можно посчитать оперативно


← →
Fin ©   (2005-02-23 20:04) [4]


> Muchacho

А я предпочитаю в некоторых случаях вычислять, а в некоторых хранить результат. В зависимости от ситуации.


← →
Desdechado ©   (2005-02-23 20:48) [5]

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


← →
Muchacho   (2005-02-24 10:30) [6]

А если формула использует значения полей подчиненной таблицы? Потому что система берет только первую запись подчиненной таблицы для всех записей главной таблицы, а не те записи, которые соответствуют им. Что можно делать в такой ситуации?


← →
Sergey13 ©   (2005-02-24 10:34) [7]

2 [6] Muchacho
Может огласишь свою страшную формулу? А так же тип БД.
Может просто SQL немного подучить?


← →
Muchacho   (2005-02-24 10:46) [8]

:)) тип БД InterBase, формула сложит значения полей в подчиненной и в главной таблице для текущей записи. А с помощью SQL что можно сделать?


← →
Sergey13 ©   (2005-02-24 10:52) [9]

[8] Muchacho   (24.02.05 10:46)
>А с помощью SQL что можно сделать?
Примерно следующее
select t1.id,sum(t2.chislo)
from t1,t2
where t1.id=t2.t1_id
group by t1.id


← →
Muchacho   (2005-02-24 11:06) [10]

есть поле в главной таблице "chislo1" . в подчиненной таблице "chislo2". Значение вычисляемого поля "summa" в главной таблице для текущей записи определяется так:

tbMaster.fieldbyname("summa").asinteger :=
tbMaster.fieldbyname("chislo1").asinteger + tbDetail.fieldbyname("chislo2").asinteger


← →
Muchacho   (2005-02-24 11:07) [11]

система берет только первую запись подчиненной таблицы для всех записей главной таблицы, а не те записи, которые соответствуют им


← →
Sergey13 ©   (2005-02-24 11:14) [12]

2 [10] Muchacho   (24.02.05 11:06)

select t1.id,t1.chislo1+sum(t2.chislo2)
from t1,t2
where t1.id=t2.t1_id
group by t1.id


← →
Muchacho   (2005-02-24 11:20) [13]

спасибо, попробуем.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
3-1109235317
Peter_cc
2005-02-24 11:55
2005.03.27
SQL>255 символов


1-1110614798
Timofey
2005-03-12 11:06
2005.03.27
Рисунок на TButton


3-1109714894
Arazel
2005-03-02 01:08
2005.03.27
А как сравнить месяц и год в DataField с помощью SQL ?


1-1110564923
Chroot
2005-03-11 21:15
2005.03.27
Прожиг дисков и печать документов


3-1109064228
Aleksandr.
2005-02-22 12:23
2005.03.27
Не могу отладить создание таблицы в yaffil!




   Наверх