当前位置: 代码迷 >> Oracle开发 >> 列出上下层都有版本版序的树(只要固定root版本版序及下层都取最大版本版序),该怎么处理
  详细解决方案

列出上下层都有版本版序的树(只要固定root版本版序及下层都取最大版本版序),该怎么处理

热度:219   发布时间:2016-04-24 06:23:47.0
列出上下层都有版本版序的树(只要固定root版本版序及下层都取最大版本版序)
我想列出一个树使用如下SQL语句:
select child,parent,level,version,iteration
from bomlist
start with parent='parentNumber'
connect by prior child=parent
在parent,child没有版本和版序是可以正常使用的
惨的是parent,child有版本版序所以上面的SQL语句会列出所有版本版序的数据
怎么样修改让取得的child只列出最大的版本版序
试过
select child,parent,level,version,iteration
from bomlist
start with parent='parentNumber' version='A' iteration='1'
connect by prior child=parent
只有最上层的parentNumber列出来的是符合版本版序的
请教如何让下层(层数不定)都只列出最大的版本(最大ZZ)及版序(最大65535)
------解决思路----------------------
with T as (
select child,parent,
MAX(version) KEEP(DENSE_RANK LAST ORDER BY version,iteration,ROWID) version,
MAX(iteration) KEEP(DENSE_RANK LAST ORDER BY version,iteration,ROWID) iteration
from bomlist
group by parent,child
)
select child,parent,level,version,iteration
from T 
start with parent='parentNumber'
connect by prior child=parent
  相关解决方案