![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемые поля
Muchacho © (2005-02-23 14:42:00)Здравствуйте! Всегда ли хорошо пользоваться вычисляемыми полями? Например если в таблице достаточно большое число записей и в каждом запуске вычисляются значения полей, не проще ли будет просто сохранить их в базе?
Muchacho (2005-02-24 11:20:00) [1]спасибо, попробуем.
Sergey13 (2005-02-24 11:14:00) [2]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:07:00) [3]система берет только первую запись подчиненной таблицы для всех записей главной таблицы, а не те записи, которые соответствуют им
Muchacho (2005-02-24 11:06:00) [4]есть поле в главной таблице "chislo1" . в подчиненной таблице "chislo2". Значение вычисляемого поля "summa" в главной таблице для текущей записи определяется так:
tbMaster.fieldbyname('summa').asinteger :=
tbMaster.fieldbyname('chislo1').asinteger + tbDetail.fieldbyname('chislo2').asinteger
Sergey13 (2005-02-24 10:52:00) [5][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 10:46:00) [6]:)) тип БД InterBase, формула сложит значения полей в подчиненной и в главной таблице для текущей записи. А с помощью SQL что можно сделать?
Sergey13 (2005-02-24 10:34:00) [7]2 [6] Muchacho
Может огласишь свою страшную формулу? А так же тип БД.
Может просто SQL немного подучить?
Muchacho (2005-02-24 10:30:00) [8]А если формула использует значения полей подчиненной таблицы? Потому что система берет только первую запись подчиненной таблицы для всех записей главной таблицы, а не те записи, которые соответствуют им. Что можно делать в такой ситуации?
Desdechado (2005-02-23 20:48:00) [9]Я сказал о вычислениях на основе полей одной записи.
В остальных случаях возможны варианты.
Fin (2005-02-23 20:04:00) [10]
> Muchacho
А я предпочитаю в некоторых случаях вычислять, а в некоторых хранить результат. В зависимости от ситуации.
Desdechado (2005-02-23 18:36:00) [11]я предпочитаю не хранить то, что можно посчитать оперативно
Anatoly Podgoretsky (2005-02-23 17:28:00) [12]Ты задал вопрос о диалектике, на него есть ответ в русских поговорках, например про палку с двумя концами. Про нет худа без добра и т.д.
Так что следуй законам диалектики.
DiamondShark (2005-02-23 16:16:00) [13]Вычисляемые поля вычисляются не для всех записей сразу, а только тогда, когда требуется значение конкретного поля из конкретной строки.