Имя: Пароль:
1C
1С v8
сгруппировать по максимуму в запросе
0 hatsher
 
28.09.12
17:40
вечер, пятница, туплю.

есть таблица

период  контрагент показатель


нужно сгруппировать таблицу по контрагенту, суммировать по показателю и отобрать только с максимальным периодом по контрагенту
1 shuhard
 
28.09.12
17:41
(0) имеющие
2 pepperrevolver
 
28.09.12
17:41
вложенный запрос..
3 Fragster
 
гуру
28.09.12
17:42
сгруппируй сохрани в ВТ, слепи с этой таблицей исходную
4 hatsher
 
28.09.12
17:42
(1)это в конструкторе есть?
(3) эта таблица и есть ВТ в пакетном запросе. еще одну лепить..хм
5 PR
 
28.09.12
17:43
(0) ВЫБРАТЬ МАКСИМУМ(период), контрагент, СУММА(показатель)
6 hatsher
 
28.09.12
17:47
блин, не так сказал.

нужно выбрать контрагентов и показатели по макс значению периода
7 hatsher
 
28.09.12
17:48
01.01  Иванов 100
02.01  Иванов 200
03.01  Иванов 300
01.01  Петров 100

должно остаться

03.01  Иванов 300
01.01  Петров 100
8 shuhard
 
28.09.12
17:48
(6) и чё, думаешь тебя кто-то понял ?
9 XLife
 
28.09.12
17:48
Stim не тупи
10 hatsher
 
28.09.12
17:50
(9) ?
(8) см. 7
11 shuhard
 
28.09.12
17:51
(7) сгруппируй по ФИО и найди максимум по показателю, результат соедини с исходной таблицей
сгруппируй по показателю и ФИО, возьми минимум по периоду
12 Fragster
 
гуру
28.09.12
17:52
это же баян
13 Kashemir
 
28.09.12
17:53
ВЫБРАТЬ
   РС.Период,
   РС.Контрагент,
   РС.Сумма
ИЗ
   РС КАК РС
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           МАКСИМУМ(РС.Период) КАК Период,
           РС.Контрагент КАК Контрагент
       ИЗ
           РС КАК РС
       
       СГРУППИРОВАТЬ ПО
           РС.Контрагент) КАК ВложенныйЗапрос
       ПО РС.Контрагент = ВложенныйЗапрос.Контрагент
           И РС.Период = ВложенныйЗапрос.Период
14 shuhard
 
28.09.12
17:54
(12)+1
баянище
даже не первый класс школы
последний ясель
15 Kashemir
 
28.09.12
17:55
+(13) Или же корреляционным запросом:

ВЫБРАТЬ
   РСВшн.Период,
   РСВшн.Контрагент,
   РСВшн.Сумма
ИЗ
   РС КАК РСВшн
ГДЕ
   РСВшн.Период В
           (ВЫБРАТЬ
               МАКСИМУМ(РС.Период) КАК Период
           ИЗ
               РС КАК РС
           ГДЕ
               РС.Контрагент = РСВшн.Контрагент)
16 hatsher
 
28.09.12
18:00
(15) корреляционный быстрее, спасибо
17 Fragster
 
гуру
28.09.12
19:20
(16) бустрее через временную таблицу (с правильными индексами если данных много).
Ошибка? Это не ошибка, это системная функция.