1、需求:
今天有个需求,即取所有对象中最大版本号中最大版次号的对象
2、数据表基本介绍
包含OID,REVISIONOID,NAMEOID,REVRULE, REVSEQ, VERRULE, VERSEQ等
同一个对象,有不同的版本,统一个版本有不同的版次,相同的对象nameoid相同,相同的版本revisionoid相同。
revseq为版本号的顺序号,以此增加;
verseq为版次号的顺序号,以此增加;
具体查询分了三步
1、获取所有数据
select * from TESTLIUCQ
查询结果
2、获取相同nameoid中revseq最大的数据
from TESTLIUCQ a
where a.revseq =
(select max(b.revseq) from TESTLIUCQ b where a.nameoid = b.nameoid)
查询结果
3、获取2中查询结果中相同revisionoid下verseq最大的数据
select *
from TESTLIUCQ c
where c.verseq =
(select max(d.verseq)
from (select *
from TESTLIUCQ a
where a.revseq = (select max(b.revseq)
from TESTLIUCQ b
where a.nameoid =
b.nameoid)) d
where c.revisionoid = d.revisionoid)
查询结果