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
...全文
389 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazyyy1989 2014-12-04
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
PZjlwf zjlwf,PPwhzjdfz pwhzjdfz 你这两个表不是一一对应吧,这个表1条,对应另一个表12条?
版主说的极是!问题解决了,谢谢你!
bw555 2014-12-03
  • 打赏
  • 举报
回复
PZjlwf zjlwf,PPwhzjdfz pwhzjdfz 你这两个表不是一一对应吧,这个表1条,对应另一个表12条?

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧