|
То ли группировка, то ли условие. Сама не знаю :))) | ☑ | ||
---|---|---|---|---|
0
Полька
24.03.14
✎
10:22
|
ВЫБРАТЬ
СрокиИсполненияЗаказов.ЗаказПокупателя, СрокиИсполненияЗаказов.Номенклатура, СрокиИсполненияЗаказов.Количество, СрокиИсполненияЗаказов.УтвержденнаяДатаИсполнения, ЗаказыПокупателейОбороты.КоличествоРасход КАК КоличествоОтгружено ИЗ РегистрСведений.итСрокиИсполненияЗаказов КАК СрокиИсполненияЗаказов ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Обороты(, , Авто, ) КАК ЗаказыПокупателейОбороты ПО СрокиИсполненияЗаказов.ЗаказПокупателя = ЗаказыПокупателейОбороты.ЗаказПокупателя И СрокиИсполненияЗаказов.Номенклатура = ЗаказыПокупателейОбороты.Номенклатура Этот запрос работает как надо. Почти :) Нужно добавить отбор, что регистратор должен быть типа Документ.РеализацияТоваровУслуг. Если я добавляю в выборку ЗаказыПокупателейОбороты.Регистратор или ставлю условие, то у меня в выборке отражается для каждой позиции номерклатуры все документы- регистраторы. Если пытаюсь сделать группировку, то туда вылезает все, что есть в разделе "Выбрать". А мне нужно только общее кол-во отгруженного по каждой номенклатуре. |
|||
1
Нерезидент РФ
24.03.14
✎
10:26
|
1. запрос к РегистрСведений.итСрокиИсполненияЗаказов и помещение во временную
2. запрос к РегистрНакопления.ЗаказыПокупателей.Обороты (в параметрах - отбор по типу регистратора и по таблице из п.1), группировка и помещение во временную 3. временную из п1 соединить с временной из п2 |
|||
2
Полька
24.03.14
✎
10:28
|
(1) я учусь :)
через временные у меня сделано. Я хотела в один запрос попробовать все запихать. |
|||
3
Нерезидент РФ
24.03.14
✎
10:34
|
(2) не стоит.
|
|||
4
mikecool
24.03.14
✎
10:37
|
(1) что за любовь пихать все во временные таблицы? нет понимания - как связать все в одном запросе?
|
|||
5
DexterMorgan
24.03.14
✎
10:44
|
(4) а у тебя по-видимому всегда можешь сказать какой план выберет оптимизатор СУБД если все нафигачишь в одном запросе и что этот план будет оптимальным?
|
|||
6
Нерезидент РФ
24.03.14
✎
10:54
|
(4) чем проще запрос для понимания тебе, тем проще оптимизатору.
|
|||
7
vmv
24.03.14
✎
10:57
|
а чо не взлетит?
в ГДЕ ТИПЗНАЧЕНИЯ(ЗаказыПокупателейОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг) в параметрах виртуальной ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.РеализацияТоваровУслуг) |
|||
8
Полька
24.03.14
✎
11:02
|
(7) пробовала
нужно, чтобы выводилось Номенклатура-Отгружено, например Тарелки 10 шт. А тут выводится Тарелки 3 шт Тарелки 7 шт И вдобавок все заказы, по которым не было отргузки не попадают в выборку. |
|||
9
vmv
24.03.14
✎
11:06
|
(8) мне трудно соображать в примере с тарелками, да уже и давно делаю простейший оптимизированный запрос-источник в СКД, а все муки группировок и т.п. средствами настройки СКД
если нужен вывод не в отчет, а как данные для обработки делаю ветку при компоновке в модуле отчета для вывода в тз. |
|||
10
DexterMorgan
24.03.14
✎
16:00
|
(6) "чем проще запрос для понимания тебе, тем проще оптимизатору."
Ерунда это все. Оптимизатору нужно знать какое количество полей в таблицах, которые он соединяет. Т.к. виртуальная таблица транслируется во вложенный запрос на sql, то ему труднее выбрать правильный план, поэтому лучше помещать в вт, в данном случае |
|||
11
DexterMorgan
24.03.14
✎
16:05
|
Да кстати, если индексы настроены, РС помещать в вт никакого смысла нет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |