![]() |
#24 |
Участник
|
Цитата:
Narayana, невозможно do something запихнуть в текст SQL запроса. Query, как уже говорилось, не содержит обрабатываемые данные, Query хранит только текст запроса. У него не предусмотренно никаких методов постобработки данных, потому что никакие данные он не обрабатывает. Данные обрабатывает QueryRun. Query только описывает какие данные будут доступны QueryRun'у и к сожалению это описание не предусматривает даже декларативного описания вычисляемых полей, не говоря уже о возможности процедурного вычисления do something. Именно это ограничение я и имел в виду когда говорил о том что многие вещи "за один запрос" не решаются. Стандартных выхода (о которых вам уже в этой ветке не раз говорили) два: 1) либо максимально отсрочить окончательные расчёты и перенести их на сторону интерфейсной части (display-методы) 2) либо, если вычисление требуется не в конце, а в середине процесса сбора данных, создавать вспомогательные таблицы, в которые складировать промежуточный результат. Последний раз редактировалось S.Kuskov; 13.11.2012 в 08:33. |
|
|
За это сообщение автора поблагодарили: lev (3). |
Теги |
query, архитектура, как правильно |
|
|