|
Выбрать Первые 4 из группировки | ☑ | ||
---|---|---|---|---|
0
shane13
25.06.13
✎
09:20
|
Добрый день. Необходимо получить количество по 4-м последним продажам по списку клиентов, которые были в магазине за определенный период.
Пишу запрос: ВЫБРАТЬ РАЗЛИЧНЫЕ ПродажиОбороты.Клиент ПОМЕСТИТЬ ВТКлиенты ИЗ РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, Регистратор, ВидПродажи = &Клиенту) КАК ПродажиОбороты; ////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПЕРВЫЕ 4 Клиенты.Клиент КАК Клиент, ПродажиОбороты.Период КАК Период, ПродажиОбороты.КоличествоОборот КАК Количество ИЗ ВТКлиенты КАК Клиенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, &КонДата, Регистратор, ) КАК ПродажиОбороты ПО Клиенты.Клиент = ПродажиОбороты.Клиент УПОРЯДОЧИТЬ ПО Период УБЫВ ИТОГИ СУММА(Количество) ПО Клиент Так выводит только 4 количество по 4-м последним продажам, а мне нужно 4 последних продажи по каждому клиенту.. Помогите пжлста!!! |
|||
1
Нуф-Нуф
25.06.13
✎
09:21
|
Пронумеруй строки в запросе и выбери с нужными номерами
|
|||
2
SeregaMW
25.06.13
✎
09:22
|
(1) Красавчиг уважуха тебе! Лаконичное решение!
|
|||
3
SeregaMW
25.06.13
✎
09:27
|
||||
4
SeregaMW
25.06.13
✎
09:29
|
(0) В анкете фото сына? А то у меня твоя анкета вызвала когнитивный диссонанс!
|
|||
5
shane13
25.06.13
✎
09:38
|
(4) Ахаха, это я года 3-4 назад))
|
|||
6
shane13
25.06.13
✎
09:40
|
(1), что-то не выходит, соединила ВТКлиенты с самой собой, чтобы пронумеровать строки нарастающим итогом - тут всё ок, дальше в условиях пишу Номер <=4 (номер - это моё поле с нумерацией) и нифига..
|
|||
7
SeregaMW
25.06.13
✎
09:56
|
(6) Давай запрос выкладывай, тут телепатов нет!
|
|||
8
mozzga
25.06.13
✎
09:57
|
(6) Клиенты+Нумеруй продажи и в условии пиши Номер<=4
|
|||
9
shane13
25.06.13
✎
10:20
|
Вот пакетный запрос:
ВЫБРАТЬ ПродажиОбороты.Клиент ПОМЕСТИТЬ ВТКлиенты ИЗ РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, , ВидПродажи = &Клиенту) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПродажиОбороты.Период, ПродажиОбороты.Клиент, 1 КАК Номер, ПродажиОбороты.КоличествоОборот ПОМЕСТИТЬ ВТПродажи ИЗ РегистрНакопления.Продажи.Обороты(, &КонДата, Регистратор, ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТКлиенты.Клиент КАК Клиент, СУММА(ВТПродажи.Номер) КАК Номер, ВТПродажи.Период КАК Период, ВТПродажи.КоличествоОборот КАК КоличествоОборот ИЗ ВТКлиенты КАК ВТКлиенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, &КонДата, Регистратор, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажи КАК ВТПродажи ПО ПродажиОбороты.Клиент = ВТПродажи.Клиент И ПродажиОбороты.Период >= ВТПродажи.Период ПО ВТКлиенты.Клиент = ПродажиОбороты.Клиент ГДЕ ВТПродажи.Номер <= 4 СГРУППИРОВАТЬ ПО ВТКлиенты.Клиент, ВТПродажи.Период, ВТПродажи.КоличествоОборот УПОРЯДОЧИТЬ ПО Клиент, Период УБЫВ ИТОГИ СУММА(КоличествоОборот) ПО Клиент |
|||
10
Laerys
25.06.13
✎
10:44
|
ГДЕ
ВТПродажи.Номер <= 4 у тебя там 1-ца просто пронумеруй строки в запросе и не извращайся |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |