0
- 03.12.2012 - 07:34
|
Всем привет! Задачка на поразмять мозги. Нужно запросом вывести всех новых покупателей, которые пришли в этом году. Накидал тут кое-что. Результат выдаёт вроде правильный, но как-то неготично... Может, можно покороче? | |
1
- 03.12.2012 - 07:35
|
ВЫБРАТЬ СтарыеПродажи.Контрагент КАК Покупатель, ИСТИНА КАК ЭтоСтарыйПокупатель ПОМЕСТИТЬ СтарыеПокупатели ИЗ РегистрНакопления.Продажи.Обороты(, &НачалоГода, Период, ) КАК СтарыеПродажи ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПокупателиЗаЭтотГод.Покупатель, ВЫБОР КОГДА ПокупателиЗаЭтотГод.ЭтоСтарыйПокупатель = ИСТИНА ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КАК ЭтоНовый ПОМЕСТИТЬ ПокупателиЗаЭтотГод ИЗ (ВЫБРАТЬ ПродажиЗаЭтотГод.Контрагент Как Покупатель, СтарыеПокупатели.ЭтоСтарыйПокупатель ИЗ РегистрНакопления.Продажи.Обороты(&НачалоГода, &КонецГода, Период, ) КАК ПродажиЗаЭтотГод ЛЕВОЕ СОЕДИНЕНИЕ СтарыеПокупатели ПО ПродажиЗаЭтотГод.Контрагент = СтарыеПокупатели.Покупатель ) КАК ПокупателиЗаЭтотГод ; ////////////////////////////////////////////////////////////////// ВЫБРАТЬ НовыеПокупателиЗаЭтотГод.* ИЗ ПокупателиЗаЭтотГод КАК НовыеПокупателиЗаЭтотГод ГДЕ НовыеПокупателиЗаЭтотГод.ЭтоНовый = ИСТИНА | |
2
- 03.12.2012 - 07:43
| В первом запросе пакета добавить хинт "Различные", в параметрах виртуальной таблицы не использовать периодичность. Третий запрос пакета не нужен. Во втором запросе соединение выбросить, "ПокупателиЗаЭтотГод" из полей выбросить, в параметрах виртуальной таблицы сделать условие "Не Контрагент В (Запрос к временной таблице)". | |
3
- 03.12.2012 - 07:47
|
ВЫБРАТЬ ПродажиОбороты.Контрагент ИЗ РегистрНакопления.Продажи.Обороты( &КонтрольнаяДата, &ТекущаяДата, , (НЕ Контрагент В (ВЫБРАТЬ ПродажиОбороты.Контрагент ИЗ РегистрНакопления.Продажи.Обороты(&НачалоВремён, &КонтрольнаяДата, , ) КАК ПродажиОбороты))) КАК ПродажиОбороты незнаю как в плане производительности, но так проще на мой взгляд | |
4
- 03.12.2012 - 08:13
| (2), (3) спасибо! | |
5
- 03.12.2012 - 08:16
|
условие в параметре ВТ действительно удобнее а я чё-то зациклился на левом соединении, кручу его так и сяк, а зачем спрашивается? | |
6
- 03.12.2012 - 08:16
|
ничего личного, но построения типа ПокупателиЗаЭтотГод.ЭтоСтарыйПокупатель = ИСТИНА меня напрягают | |
7
- 03.12.2012 - 08:21
| я тебя прекрасно понимаю ;-) | |
| Интернет-форум Краснодарского края и Краснодара |