helpf.pro
Регистрация

v8.2 УП: ПОМОГИТЕ С ЗАПРОСОМ!!!!!СТРОЧНО!!!!СЕРЙОЗНО!!!!С МЕНЯ ПИВО!!))

Bunzuk1991
16.10.2012 19:39Прочитано: 1485
Привет Всем!!!!Вот пример запроса (нужно сделать что-бы он работал быстрее, время выполнения в КОНСОЛЕ ЗАПРОСОВ - 2.8-3.2 сек.). ПОМОГИТЕ! РЕально нужно сделать - БЫСТРЕЕ!!!

"ВЫБРАТЬ
| ЕСТЬNULL(Залишки.СумаНачальныйОстаток, 0) КАК СумаНачальныйОстаток,
| ЕСТЬNULL(Залишки.СумаКонечныйОстаток, 0) КАК СумаКонечныйОстаток,
| Нарахування.НарахованоОборот,
| Нарахування.ПільгаОборот,
| Нарахування.Квартира КАК Квартира,
| Нарахування.ВидЛічильника КАК Лічильник
|ИЗ
| (ВЫБРАТЬ
| НарахуванняПоЛічильникахОбороты.Квартира КАК Квартира,
| НарахуванняПоЛічильникахОбороты.НарахованоОборот КАК НарахованоОборот,
| НарахуванняПоЛічильникахОбороты.ПільгаОборот КАК ПільгаОборот,
| НарахуванняПоЛічильникахОбороты.ВидЛічильника КАК ВидЛічильника
| ИЗ
| РегистрНакопления.НарахуванняПоЛічильниках.Обороты(&ДатаП, &ДатаК, , ) КАК НарахуванняПоЛічильникахОбороты
| ГДЕ
| НарахуванняПоЛічильникахОбороты.Квартира = &Квартира) КАК Нарахування
| ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| РозрахункиПоЛічильникахОстаткиИОбороты.Квартира КАК Квартира,
| РозрахункиПоЛічильникахОстаткиИОбороты.Лічильник КАК Лічильник,
| РозрахункиПоЛічильникахОстаткиИОбороты.СумаНачальныйОстаток КАК СумаНачальныйОстаток,
| РозрахункиПоЛічильникахОстаткиИОбороты.СумаОборот КАК СумаОборот,
| РозрахункиПоЛічильникахОстаткиИОбороты.СумаКонечныйОстаток КАК СумаКонечныйОстаток
| ИЗ
| РегистрНакопления.РозрахункиПоЛічильниках.ОстаткиИОбороты(&ДатаП, &ДатаК, , , ) КАК РозрахункиПоЛічильникахОстаткиИОбороты
| ГДЕ
| РозрахункиПоЛічильникахОстаткиИОбороты.Квартира = &Квартира) КАК Залишки
| ПО Нарахування.Квартира.Ссылка = Залишки.Квартира.Ссылка
| И Нарахування.ВидЛічильника = Залишки.Лічильник";
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
16.10.2012 22:52Ответ № 1
(0) Bunzuk1991, используй временные таблицы.
а так на вскидку не скажешь, тут тестить надо
Bunzuk1991
17.10.2012 02:49Ответ № 2
ПАКЕТНЫМИ ЗАПРОСАМИ ВЫХОДИТЬ ДОЛЬШЕ, ЧЕ ДЕЛАТЬ ХЗ!!!!! ПОСМОТРИТЕ ЕСЧЕ!!! МОЖЕТ ПРОБЛЕМА В КОМПЕ, МОЖЕТ В КОДЕ!!!!!
[b]
[/b]
Gnost
17.10.2012 10:14Ответ № 3
С мовой у меня слабовато, но момент номер раз:
Код
РегистрНакопления.РозрахункиПоЛічильниках.ОстаткиИОбороты(&ДатаП, &ДатаК, , , ) КАК РозрахункиПоЛічильникахОстаткиИОбороты
| ГДЕ
| РозрахункиПоЛічильникахОстаткиИОбороты.Квартира = &Квартира)


У вас это виртуальная таблица, следовательно условие нужно накладывать на нее:

Код
РегистрНакопления.РозрахункиПоЛічильниках.ОстаткиИОбороты(&ДатаП, &ДатаК, , ,Квартира = &Квартира )
)


По аналогии нужно установить отбор на вторую виртуальную таблицу (НарахуванняПоЛічильниках)

Момент номер два: Вы ТОЧНО уверены, что вам необходимо ПОЛНОЕ соединение?
Изменено 17.10.12 10:16:18
Gnost
17.10.2012 10:41Ответ № 4
Если я правильно перевел, то вид Лічильника - это вид счетчика. По логике это более детальное описание квартиры. Тогда соединение должно выглядеть так:
Код
ПО Нарахування.ВидЛічильника = Залишки.Лічильник
Bunzuk1991
17.10.2012 16:39Ответ № 5
ОГРОМНОЕ СПАСИБО, СДЕЛАЛ КАК ВЫ СКАЗАЛИ СКОРОСТЬ ЗНАЧИТЕЛЬНО ПОВЫСИЛАСЬ!!!!
Bunzuk1991
17.10.2012 16:39Ответ № 6
Вопрос закрыт!
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.