|
Оптимизация запроса | ☑ | ||
|---|---|---|---|---|
|
0
pioneer_22
05.03.13
✎
03:51
|
Всем Доброго Дня!
Я правильно понимаю, что такой запрос будет выбирать все приходники и только потом левым соединением отсеивать часть из них: ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.ДокСчет, СУММА(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа) КАК СуммаПлатежа ПОМЕСТИТЬ Касса ИЗ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА СГРУППИРОВАТЬ ПО ПриходныйКассовыйОрдерРасшифровкаПлатежа.ДокСчет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(СУММА(СчетНаОплатуПокупателю.СуммаДокумента), 0) КАК СуммаСчетов, ЕСТЬNULL(СУММА(Банк.СуммаПлатежа), 0) КАК ОплаченноБУХ, ЕСТЬNULL(СУММА(Касса.СуммаПлатежа), 0) КАК ОплаченноУпр, ИЗ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ЛЕВОЕ СОЕДИНЕНИЕ Банк КАК Банк ПО СчетНаОплатуПокупателю.Ссылка = Банк.ДокСчет ЛЕВОЕ СОЕДИНЕНИЕ Касса КАК Касса ПО СчетНаОплатуПокупателю.Ссылка = Касса.ДокСчет ГДЕ СчетНаОплатуПокупателю.Ссылка.Проведен = ИСТИНА И СчетНаОплатуПокупателю.Дата МЕЖДУ &Дата1 И &Дата2 |
|||
|
1
ZanderZ
05.03.13
✎
04:54
|
в ПОМЕСТИТЬ уже выбрались все, потом будет отсеиваться при соединении
|
|||
|
2
Килограмм
05.03.13
✎
05:35
|
А сделать всё тоже самое обращаясь к регистрам нет возможности? Это было бы хорошей оптимизацией запроса.
|
|||
|
3
pioneer_22
05.03.13
✎
05:45
|
(2) на текущий момент в регистрах нет связки счет - платежи. У договоров взаиморасчеты по договору в целом
|
|||
|
4
Рэйв
05.03.13
✎
05:55
|
ВТ тут лишняя.Сразу с приходниками соединяй
|
|||
|
5
pioneer_22
05.03.13
✎
06:06
|
(4) Да запутался немного. Просто подумал что перед соединением надо сгруппировать по ТЧ "расшифровка платежа". Тогда это вложенный запрос и опять же по всем приходникам. А ща понял, что можно после ЛЕВОГО сгруппировать. Спасибо
|
| Форум | Правила | Описание | Секции | Поиск |