|
Как получить максимум в запросе | ☑ | ||
---|---|---|---|---|
0
Два вопроса
25.03.14
✎
07:24
|
Вроде всё просто, но.
Есть вложенный запрос, например: (ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Дата, РеализацияТоваровУслугТовары.Количество ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары) КАК ВсеРеализации Как теперь отобрать оттуда только те строки, в которых для каждой номенклатуры дата максимальная? Т.е. нужно отобрать последнее движение по каждой номенклатуре. Через МАКСИМУМ не идет никак. Вытаскивает все обороты за всё время. |
|||
1
break
25.03.14
✎
07:31
|
сделать два запроса на временных таблицах (в первом оставить только дату и номенклатуру) соединить по номенклатуре
|
|||
2
shuhard
25.03.14
✎
07:35
|
(1) +1
и брать не по ТЧ РТиУ, а по Рг Продажи, если речь о торговых конфах |
|||
3
Два вопроса
25.03.14
✎
07:37
|
Как брать пока не принципиально. Важно получить последнее.
|
|||
4
shuhard
25.03.14
✎
07:38
|
(3) какая буква в (1) не понятна ?
|
|||
5
Два вопроса
25.03.14
✎
07:40
|
(4) как максимум прикрутить пока не ясно
|
|||
6
Два вопроса
25.03.14
✎
07:44
|
ВЫБРАТЬ
МАКСИМУМ(Продажи.Регистратор) КАК Регистратор, Продажи.Номенклатура ПОМЕСТИТЬ МаксимальнаяРеализация ИЗ РегистрНакопления.Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Регистратор, Продажи.Номенклатура, Продажи.Количество ПОМЕСТИТЬ ВсеРеализации ИЗ РегистрНакопления.Продажи КАК Продажи ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеРеализации.Регистратор, ВсеРеализации.Номенклатура, ВсеРеализации.Количество ИЗ МаксимальнаяРеализация КАК МаксимальнаяРеализация ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеРеализации КАК ВсеРеализации ПО МаксимальнаяРеализация.Номенклатура = ВсеРеализации.Номенклатура |
|||
7
Два вопроса
25.03.14
✎
07:55
|
Работает однако.
ВЫБРАТЬ МАКСИМУМ(Продажи.Регистратор) КАК Регистратор, Продажи.Номенклатура ПОМЕСТИТЬ МаксимальнаяРеализация ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент СГРУППИРОВАТЬ ПО Продажи.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Регистратор, Продажи.Номенклатура, Продажи.Количество ПОМЕСТИТЬ ВсеРеализации ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеРеализации.Регистратор, ВсеРеализации.Номенклатура, ВсеРеализации.Количество ИЗ МаксимальнаяРеализация КАК МаксимальнаяРеализация ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеРеализации КАК ВсеРеализации ПО МаксимальнаяРеализация.Номенклатура = ВсеРеализации.Номенклатура И МаксимальнаяРеализация.Регистратор = ВсеРеализации.Регистратор |
|||
8
Два вопроса
25.03.14
✎
07:59
|
Нет, не работает
|
|||
9
Два вопроса
25.03.14
✎
08:11
|
Нашел вариант, но если в одну секунду будет несколько реализаций, то будет затык.
ВЫБРАТЬ Продажи.Номенклатура, МАКСИМУМ(Продажи.Период) КАК Период ПОМЕСТИТЬ МаксимальнаяРеализация ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент СГРУППИРОВАТЬ ПО Продажи.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Номенклатура, Продажи.Количество, Продажи.Период ПОМЕСТИТЬ ВсеРеализации ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Контрагент = &Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеРеализации.Номенклатура, ВсеРеализации.Количество, ВсеРеализации.Период КАК Регистратор ИЗ МаксимальнаяРеализация КАК МаксимальнаяРеализация ЛЕВОЕ СОЕДИНЕНИЕ ВсеРеализации КАК ВсеРеализации ПО МаксимальнаяРеализация.Номенклатура = ВсеРеализации.Номенклатура И МаксимальнаяРеализация.Период = ВсеРеализации.Период |
|||
10
Два вопроса
25.03.14
✎
08:24
|
Как-то криво местами в этом мире.
|
|||
11
13_Mult
25.03.14
✎
08:26
|
С чего затык то будет?
|
|||
12
13_Mult
25.03.14
✎
08:30
|
(11)+ Вариант из (9) и все ном будет
|
|||
13
Два вопроса
25.03.14
✎
08:46
|
(12) Надеюсь.
|
|||
14
Два вопроса
25.03.14
✎
08:49
|
(11) Он же их просуммирует, а надо получить количество именно последнего документа.
|
|||
15
break
25.03.14
✎
08:51
|
если периоды одинаковые то какой будет последним?
|
|||
16
13_Mult
25.03.14
✎
08:54
|
(14) ни чего там не суммируется (если сам в запросе не укажешь)
|
|||
17
13_Mult
25.03.14
✎
08:57
|
(14) Вы бы попробовали в консольке запросов все варианты, и убедились бы сами что и как.
|
|||
18
Два вопроса
25.03.14
✎
09:01
|
(16) Точно. Это я после Ровановских сказок в ступор впадаю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |