К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

запрос: новые покупатели за этот год

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
я тебя прекрасно понимаю ;-)


К списку вопросов






Copyright ©, Все права защищены