Выбрать последнюю корректировку реализации

1. DenisMedvedev 19.07.21 13:42 Сейчас в теме
Добрый день.
Запросом получаю все корректировки реализации:
ВЫБРАТЬ
	КорректировкаРеализации.Ссылка КАК Ссылка,
	КорректировкаРеализации.ДокументРеализации КАК ДокументРеализации,
	КорректировкаРеализации.ИсходныйДокументРеализации КАК ИсходныйДокументРеализации
ПОМЕСТИТЬ ВсеКорректировкиРеализации
ИЗ
	Документ.КорректировкаРеализации КАК КорректировкаРеализации
ГДЕ
	КорректировкаРеализации.Проведен = ИСТИНА
	И КорректировкаРеализации.ИсходныйДокументРеализации В
			(ВЫБРАТЬ
				Таб7.Реализация КАК Реализация
			ИЗ
				Таб7 КАК Таб7)
Показать


Результат в прикрепленном файле.
Подскажите, можно каким-либо образом исключить из данной выборки корректировку №11 от 15.03.2021, т.к. есть более поздняя корректировка этой корректировки № 27 от 26.05.2021?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. soft_wind 19.07.21 14:02 Сейчас в теме
(1) да, можно, для этого два левых соединения надо использовать
вот пример, попробуйте его сначала в консоли

ВЫБРАТЬ
	Таб7.Реализация,
	Корр1.Ссылка КАК Корректировка,
    Корр1.ДокументРеализации КАК ДокументРеализации
//ПОМЕСТИТЬ ВсеКорректировкиРеализации
ИЗ
	Таб7
левое соединение Документ.КорректировкаРеализации КАК Корр1
	по Корр1.ИсходныйДокументРеализации = Таб7.Реализация
	и  Корр1.Проведен
	
левое соединение Документ.КорректировкаРеализации КАК Корр2
	по Корр2.ИсходныйДокументРеализации = Таб7.Реализация
	и  Корр2.Проведен
	и  Корр2.Дата  > Корр1.Дата
	
ГДЕ
    Корр2.Ссылка есть Null
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. DJDUH 17 19.07.21 14:32 Сейчас в теме
(1)
Sel ect Top 1 Ref Fr om table Order By дата Desc 
8. M_A_D 184 19.07.21 14:40 Сейчас в теме
(1)так, на сколько я понимаю, у вас во всех полях ССЫЛКИ, а ссылка может получать значение по группировке МАКСИМУМ, т.к. в ней есть дата....

И так, делаем группировку по корректировке - МАКСИМУМ, а исходный документ просто группируем.
Вы должны получить то что нужно))) и не придется ничего нагромождать)
DenisMedvedev; +1 1 Ответить
11. DenisMedvedev 19.07.21 16:37 Сейчас в теме
(8)Спасибо, Ваш вариант тоже работает!
2. soft_wind 19.07.21 14:02 Сейчас в теме
(1) да, можно, для этого два левых соединения надо использовать
вот пример, попробуйте его сначала в консоли

ВЫБРАТЬ
	Таб7.Реализация,
	Корр1.Ссылка КАК Корректировка,
    Корр1.ДокументРеализации КАК ДокументРеализации
//ПОМЕСТИТЬ ВсеКорректировкиРеализации
ИЗ
	Таб7
левое соединение Документ.КорректировкаРеализации КАК Корр1
	по Корр1.ИсходныйДокументРеализации = Таб7.Реализация
	и  Корр1.Проведен
	
левое соединение Документ.КорректировкаРеализации КАК Корр2
	по Корр2.ИсходныйДокументРеализации = Таб7.Реализация
	и  Корр2.Проведен
	и  Корр2.Дата  > Корр1.Дата
	
ГДЕ
    Корр2.Ссылка есть Null
Показать
5. DenisMedvedev 19.07.21 14:16 Сейчас в теме
(2)Почти, убрал что не нужно, но видимо нужно еще условие, чтобы отсеять реализации слева
Прикрепленные файлы:
6. DenisMedvedev 19.07.21 14:18 Сейчас в теме
(5)не соображу какое условие надо
3. Alexei_Siva 187 19.07.21 14:03 Сейчас в теме
К примеру,
Ссылка не в ( Выбрать Док.ДокументРеализации из Документ.КорректировкаРеализации ка Док)

Или (так в теории будет быстрее выполняться) соединить ВсеКорректировкиРеализации с собой по Ссылка = ДокументРеализации , там где ДокументРеализации <> неопределено - исключать отбором
4. soft_wind 19.07.21 14:04 Сейчас в теме
( 1 ) да и еще условие, что бы не было корректировок с одинаковыми ДатаВремя
9. soft_wind 19.07.21 14:54 Сейчас в теме
(6) что бы в списке документов Корректировок не было документов с одинаковой датой,
да ладно пока не заморачивайтесь этим условием,

просто попробуйте данный пример в консоли запросов
только Таб7 с реализациями как временную, для теста, создайте, сами сможете?
10. DenisMedvedev 19.07.21 16:20 Сейчас в теме
Спасибо всем за помощь!!! Немного подкорректировал (2) и все получилось.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот