当前位置: 代码迷 >> Oracle管理 >> 怎么对查询出来的重复列赋空值
  详细解决方案

怎么对查询出来的重复列赋空值

热度:158   发布时间:2016-04-24 04:13:53.0
如何对查询出来的重复列赋空值



select distinct
ppi.personregid as djlsh,
nvl(ppi.groupcode,ks.id) as XH,
ks.id as LXBH,
ks.name as LXMC,
nvl(ppi.groupcode,ks.id) as BH,
nvl(zh.groupname,'其他项目') as XMMC,
xj.resultdesc as XJ,
ys.name AS XM,
xj.makedate as JCRQ,
'0' as DJ,
'0' as DISP_ORDER
from phy_personreg_item ppi
left join dept ks on ks.id=ppi.departid
left join phy_group zh on zh.groupcode=ppi.groupcode
left join phy_personreg_bief xj on xj.personregid=ppi.personregid and xj.departid=ks.id
left join users ys on ys.id=xj.doctor    
where ppi.personregid='10081600188'--:ParPid AND ((1=1 )OR (:ParPcs=1))
order by LXBH ,xh


以上代码如何修改可以使小结这个列 重复的数据只显示最后一条 其他的给‘ ’
------解决思路----------------------
我只给你写一个djlsh字段,其他字段同理
利用lag获取上一条的值,同本条值相比较,然后用decode分别处理
select
decode(lag(djlsh,1,null)over(order by LXBH ,xh),djlsh,null,djlsh) djlsh
from (你的查询语句)
order by LXBH ,xh
  相关解决方案