Принимаемый ответ @Meherzad работает только в том случае, если данные находятся в определенном порядке. Это происходит с данными из вопроса ОП. В моем случае мне пришлось изменить его для работы с моими данными.
Примечание. Это работает только тогда, когда каждый идентификатор записи (col1 в вопросе) имеет значение БОЛЬШЕ, чем этот «родительский идентификатор» записи ( col3 в вопросе). Это часто бывает так, потому что обычно родитель должен быть создан первым. Однако, если ваше приложение допускает изменения в иерархии, где элемент может быть повторно зарегистрирован в другом месте, тогда вы не можете полагаться на это.
Это мой запрос, если он кому-то помогает; обратите внимание, что это не работает с данным вопросом, потому что данные не соответствуют требуемой структуре, описанной выше.
select t.col1, t.col2, @pv := t.col3 col3
from (select * from table1 order by col1 desc) t
join (select @pv := 1) tmp
where t.col1 = @pv
Разница в том, что table1
упорядочивается по col1
, так что родитель будет после него (поскольку значение родительского col1
меньше, чем у ребенка).
Я нашел его на странице разработчика: https://developer.ibm.com/integration/blog/2018/12/13/app-connect-enterprise-v11-migration-approach/ [111 ] https://www.ibm.com/support/knowledgecenter/en/SSTTDS_11.0.0/com.ibm.etools.mft.doc/bh23410_.htm