2010-09-18 4 views
1

У меня возникла ситуация вот так: Мне нужно узнать i_chronicle_id документа. Если я попытаюсь использовать r_object_id (т. Е. Выберите i_chronicle_id из dm_document, где r_object_id = 'some id', он вернет мне i_chronicle_id. Тогда нет проблем. Но если кто-то изменил документ (вычеркнутый и зарегистрированный), мой предыдущий запрос не работать, потому что r_object_id изменилось в той ситуации, которую я не знаю, может кто-нибудь помочь мне с DQL в такой ситуацииDQL, чтобы получить i_chronicle_id от r_object_id

Примечание:.? причина, почему я искать i_chronicle_id, чтобы получить последнюю r_object_id

.
+0

Hang on ... Чтобы получить 'i_chronicle_id' вам нужно знать' r_object_id', но для получения 'r_object_id' вам нужно сначала искать' i_chronicle_id'? Круговое требование ahoy? – Timwi

+0

У меня есть r_object_id. Но это не версия CURRENT. Мне кажется, что я не могу найти ее в таблице dm_document. Есть ли способ получить r_object_id текущего объекта версии из r_object_id предыдущего объекта версии? – Ananth

ответ

2

попробовать сделать что-то вроде следующего

select r_object_id from dm_document 
where i_chronicle_id in (
    select i_chronicle_id from dm_document (ALL) where r_object_id = ID('?') 
) 

The (ALL) ключевое слово после того, как тип выбирает все версии s

+0

Спасибо, Майкл, Это сработало – Ananth