Имя: Пароль:
1C
 
Как выбрать элементы с максимальной датой?
0 CHED
 
18.08.08
12:42
Хочу воспользоваться  условием  при группировки ИМЕЮЩИЕ МАКСИМУМ, но запрос ругается. Простым упорядочиванием по убыванию не подходит. Что делаю не так? Простым упорядочиванием по убыванию не подходит.
1 a_alenkin
 
18.08.08
12:43
а что значит элементы с максимальной датой?
2 Долорес И
 
18.08.08
12:44
какая структура и что нужно?
3 CHED
 
18.08.08
12:44
Нужны выбрать элементы с макисмальной датой, имющие общего родителя  в справочнике.
4 CHED
 
18.08.08
12:45
то есть группирую по родителю.. но должны остаться только у кого самая свежая дата.
5 Долорес И
 
18.08.08
12:45
непонятно
6 Rovan
 
гуру
18.08.08
12:46
(0) покажи-ка запрос-то
7 Долорес И
 
18.08.08
12:46
у справочника сколько уровней?
по родителям какого уровня группируешь?

дата - реквизит справочника?
8 a_alenkin
 
18.08.08
12:47
А выбрать первые 1 с упорядочиванием по дате? - я так понимаю что такой элемент должне быть один
9 CHED
 
18.08.08
12:48
(5) есть группа, в нее входит 4 элемента с реквизитом Дата... и есть другая группа, в которую входит скажем 3 элемента... Надо, чтобы при выборке осталось 2 элемента, из каждой группы, те у которых дата самая последняя. вот.
10 CHED
 
18.08.08
12:49
(9)+ то есть по 1 из каждой
11 Долорес И
 
18.08.08
12:50
(9)ок, только еще на вопросы (7) ответь.
что будет, например, если одна группа входит в другую?
12 CHED
 
18.08.08
12:54
(11) Уровней много. Фильтр по группам задаю как В ИЕРАРХИИ (&Параметр) если задать Параметр как массив, то туда попадают все элементы, удовлетворяющие условию. но надо еще добавить условие по максимальной дате.
13 a_alenkin
 
18.08.08
12:54
"ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|            Номенклатура.Ссылка КАК Ссылка,
|            МАКСИМУМ(Номенклатура.Дата) КАК Дата
|        ИЗ
|            Справочник.Номенклатура КАК Номенклатура
|        ГДЕ
|            Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель)
|        
|        СГРУППИРОВАТЬ ПО
|            Номенклатура.Родитель,
|            Номенклатура.Ссылка) КАК ВложенныйЗапрос
|        ПО Номенклатура.Дата = ВложенныйЗапрос.Дата"
14 a_alenkin
 
18.08.08
12:56
"ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|            МАКСИМУМ(Номенклатура.Дата) КАК Дата
|        ИЗ
|            Справочник.Номенклатура КАК Номенклатура
|        ГДЕ
|            Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель)
|        
|        СГРУППИРОВАТЬ ПО
|            Номенклатура.Родитель,
|            Номенклатура.Ссылка) КАК ВложенныйЗапрос
|        ПО Номенклатура.Дата = ВложенныйЗапрос.Дата"



Вот так - правильнее
15 a_alenkin
 
18.08.08
12:58
"ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|            МАКСИМУМ(Номенклатура.Дата) КАК Дата
|        ИЗ
|            Справочник.Номенклатура КАК Номенклатура
|        ГДЕ
|            Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель)
|        
|        СГРУППИРОВАТЬ ПО
|            Номенклатура.Родитель) КАК ВложенныйЗапрос
|        ПО Номенклатура.Дата = ВложенныйЗапрос.Дата
|ГДЕ
|    Номенклатура.Родитель В ИЕРАРХИИ(&Родитель)"
16 CHED
 
18.08.08
13:08
Это все хорошо работает для одного родителя.. А если их два уже задано. то не работает.
17 CHED
 
18.08.08
13:09
так как теперь надо искать максиамльную дату в двух группах.
18 ОператорПК
 
18.08.08
13:09
(16) тогда это не возможно :))

ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   (ВЫБРАТЬ
       Номенклатура.Родитель КАК Родитель,
       МАКСИМУМ(Номенклатура.Артикул) КАК Артикул
   ИЗ
       Справочник.Номенклатура КАК Номенклатура
   ГДЕ
       Номенклатура.ЭтоГруппа = ЛОЖЬ
   
   СГРУППИРОВАТЬ ПО
       Номенклатура.Родитель) КАК ВложенныйЗапрос
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
       ПО (ВложенныйЗапрос.Родитель = Номенклатура.Родитель)
           И (ВложенныйЗапрос.Артикул = Номенклатура.Артикул)
ГДЕ
   Номенклатура.ЭтоГруппа = ЛОЖЬ