|
Получить Предпоследний документ | ☑ | ||
---|---|---|---|---|
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. Повторяешь тоже самое но для ссылки внутри одно даты (секунды). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |