| 
    
        
     
     | 
    
    
  | 
Получить Предпоследний документ | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        yyyuuu    
     02.06.21 
            ✎
    12:08 
 | 
         
        Всем привет друзья.
 
        Хочу получить предпоследний документ. Результат 2 строчки вместо одной Первая строчка отражает правильный случай вторая лишняя. Или Я не понял? Или Я не знад? ГотовностьДата Готовность АктуальнаяСсылка ПредпоследняяГотовность ПредпоследняяГотовностьДата ПредпоследняяСсылка 01.06.2021 2:30:00 Налив 48437 от 31.05.2021 0:00:00 18:10:00 31.05.2021 Налив 48431 от 31.05.2021 0:00:00 01.06.2021 2:30:00 Налив 48437 от 31.05.2021 0:00:00 2:30:00 01.06.2021 Налив 48437 от 31.05.2021 0:00:00  | 
|||
| 
    1
    
        yyyuuu    
     02.06.21 
            ✎
    12:08 
 | 
         
        ВЫБРАТЬ
 
        Налив.ГотовностьДата, Налив.Готовность, МАКСИМУМ(Налив.Дата) КАК ПредыдущаяДата, Налив.НомерТупика, Налив.Ссылка ПОМЕСТИТЬ ВтПериод ИЗ Документ.Налив КАК Налив ЛЕВОЕ СОЕДИНЕНИЕ Документ.Налив КАК Налив1 ПО Налив.Дата <> Налив1.Дата И Налив.НомерТупика = Налив1.НомерТупика ГДЕ Налив.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО Налив.ГотовностьДата, Налив.Готовность, Налив.НомерТупика, Налив.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтПериод.ГотовностьДата, ВтПериод.Готовность, ВтПериод.Ссылка КАК АктуальнаяСсылка, Налив.Готовность КАК ПредпоследняяГотовность, Налив.ГотовностьДата КАК ПредпоследняяГотовностьДата, Налив.Ссылка КАК ПредпоследняяСсылка ИЗ ВтПериод КАК ВтПериод ЛЕВОЕ СОЕДИНЕНИЕ Документ.Налив КАК Налив ПО ВтПериод.НомерТупика = Налив.НомерТупика И ВтПериод.ПредыдущаяДата = Налив.Дата  | 
|||
| 
    2
    
        Timon1405    
     02.06.21 
            ✎
    12:21 
 | 
         
        ВЫБРАТЬ ПЕРВЫЕ 1
 
        ПоступлениеТоваровУСлуг.Ссылка ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУСлуг ГДЕ НЕ ПоступлениеТоваровУСлуг.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 1 ПоступлениеТоваровУСлуг.Ссылка ИЗ Документ.ПоступлениеТоваровУСлуг КАК ПоступлениеТоваровУСлуг УПОРЯДОЧИТЬ ПО ПоступлениеТоваровУСлуг.Дата УБЫВ) УПОРЯДОЧИТЬ ПО ПоступлениеТоваровУСлуг.Дата УБЫВ  | 
|||
| 
    3
    
        yyyuuu    
     02.06.21 
            ✎
    12:26 
 | 
         
        (2) Только вот надо чтобы Налив.НомерТупика = Налив1.НомерТупика и при этом был предыдущим. Так Мы получим просто предпоследний     
         | 
|||
| 
    4
    
        BeerHelpsMeWin    
     02.06.21 
            ✎
    12:41 
 | 
         
        Выбери последние два, из них выбери первый.     
         | 
|||
| 
    5
    
        SiAl-chel    
     02.06.21 
            ✎
    12:41 
 | 
         
        (0) Ты не учитываешь, что внутри одной секунды может быть не один документ, а несколько.
 
        1. Получаешь выборку документов с полями Дата и Ссылка 2. Помещаешь в ВТ 3. Делаешь левое соединение ВТ как ВТ_тек и ВТ как ВТ_пред где ВТ_тек.Дата >= ВТ_пред.Дата 4. Группируешь по ВТ_тек.Ссылка и получаешь максимум(ВТ_пред.Дата) 5. Повторяешь тоже самое но для ссылки внутри одно даты (секунды).  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |