oracle 多表多字段去重+排序

crazyyy1989 2014-12-03 05:34:51
实在没办法,求助大家了
本来是hql语句,是正确的
  from PZjlwf zjlwf where 1=1 and zjlwf.dbzId.id in (?,?,?,?) and zjlwf.pcid.id = ? order by zjlwf.dbzId.zbh


但是要加另一个排序条件:
select zjlwf from PZjlwf zjlwf,PPwhzjdfz pwhzjdfz where 1=1 and zjlwf.pcid=pwhzjdfz.pcid  and zjlwf.dbzId.id in (?,?,?,?) and zjlwf.pcid.id = ? order by zjlwf.dbzId.zbh,pwhzjdfz.zjjs


加了以后就狂重复,重复了12次。。。

转换的sql语句为:
select 
pzjlwf0_.id as id133_,pzjlwf0_.BB as BB133_,
pzjlwf0_.CJSJ as CJSJ133_,pzjlwf0_.DBTS as DBTS133_,
pzjlwf0_.DBYFJE as DBYFJE133_,pzjlwf0_.DBZID as DBZID133_,
pzjlwf0_.LWFKSJE as LWFKSJE133_,pzjlwf0_.LWFSFJE as LWFSFJE133_,
pzjlwf0_.LWFYFJE as LWFYFJE133_,pzjlwf0_.ND as ND133_,
pzjlwf0_.PCID as PCID133_,pzjlwf0_.PSTS as PSTS133_,
pzjlwf0_.PSYFJE as PSYFJE133_,pzjlwf0_.PSZID as PSZID133_,
pzjlwf0_.PSZFBZ as PSZFBZ133_,pzjlwf0_.PSZFLX as PSZFLX133_,
pzjlwf0_.SCZTW as SCZTW133_,pzjlwf0_.ZDRS as ZDRS133_,
pzjlwf0_.ZFBZ as ZFBZ133_,pzjlwf0_.ZFLX as ZFLX133_,
pzjlwf0_.ZJSBXXID as ZJSBXXID133_,pzjlwf0_.ZT as ZT133_
from
PS_ZJLWF pzjlwf0_,
PS_PWHZJDFZ ppwhzjdfz1_,
PS_DBZ pdbz2_
where
pzjlwf0_.DBZID=pdbz2_.id
and 1=1
and pzjlwf0_.PCID=ppwhzjdfz1_.PCID
and (
pzjlwf0_.DBZID in (963, 964, 965, 966)
)
and pzjlwf0_.PCID=874
order by
pdbz2_.ZBH,
ppwhzjdfz1_.ZJJS



用了distinct也是不行,后来参考帖子:
oracle 多表多字段去重问题!

去重了,但是貌似排序不对吧,反正数据库里看

都是0了,之前肯定不是0的。

真心不懂啊,求帮助
1.为什么查询会重复,不是懒加载,我加了也不行
2.为什么最后查出zjjs会都是0
...全文
201 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
crazyyy1989 2014-12-04
引用 1 楼 bw555 的回复:
PZjlwf zjlwf,PPwhzjdfz pwhzjdfz 你这两个表不是一一对应吧,这个表1条,对应另一个表12条?
版主说的极是!问题解决了,谢谢你!
回复
bw555 2014-12-03
PZjlwf zjlwf,PPwhzjdfz pwhzjdfz 你这两个表不是一一对应吧,这个表1条,对应另一个表12条?
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2014-12-03 05:34
社区公告
暂无公告