Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.055 c
3-1109153390
Sour
2005-02-23 13:09
2005.03.27
Подскажите как реализовать следующую функциональность интерфейса


3-1109700634
mefisto
2005-03-01 21:10
2005.03.27
Подключение файлов .mdf и .ldf сервера MSSQL7 к MSSQL2000


6-1106907685
ТехникПТО
2005-01-28 13:21
2005.03.27
OnNewWindow2 в динамически созданном браузере


3-1109543338
serko
2005-02-28 01:28
2005.03.27
Выбор принтера при печати!


14-1110006675
TUser
2005-03-05 10:11
2005.03.27
Pegas -> Bat