大家帮帮忙,取前50名怎么取啊(20分)

  • 主题发起人 主题发起人 lf43
  • 开始时间 开始时间
www.oradb.net
去查查,可能有相关的资料
 
再试试
--------------------------------------------------------------------------
select rownum,ABC.*
from
((select a.dhhm dhhm,c.khmc khmc,a.zxfjf-nvl(b.ydxfjf,0) dqxfjf,a.zzwjf-nvl(b.ydzwjf,0) dqzwjf,a.zjljf-nvl(b.ydjljf,0) dqjljf
,a.zxfjf-nvl(b.ydxfjf,0)+a.zzwjf-nvl(b.ydzwjf,0)+a.zjljf-nvl(b.ydjljf,0)+nvl(b.ljjzjf,0) zjf,nvl(b.ljdf,0) ljdf,nvl(b.ljjzjf,0) ljjzjf
from
(select dhhm,sum(xfjf) zxfjf,sum(zwjf) zzwjf,sum(jljf) zjlj from yx_jfdab group by dhhm)A,
(select dhhm,ydxfjf,ydzwjf,ydjljf,ljdf,ljjzjf from yx_jfdjljb)B,
(select dhhm,khmc,blzd8 from jfxt.yx_yhdab)C
where a.dhhm=b.dhhm(+) and a.zxfjf-nvl(b.ydxfjf,0)+a.zzwjf-nvl(b.ydzwjf,0)+a.zjljf-nvl(b.ydjljf,0)+nvl(b.ljjzjf,0)>500
and a.dhhm=c.dhhm order by zjf desc) ABC)
where rownum<50 ;
 
楼上的精神,在下佩服
 
今天正好闲来无事,娱乐而已。
 
huddle在DELPHI里怎么做啊,帮帮我,我想了几天了,急死了
 
很简单的,我以为你知道
我讲个方法
先放个query1
query1.sql.add('select * from TABLE order by FIELD'); //FIELD是你要排序的字段
QUERY1.OPEN;
这样,QUERY1.RecNo<50的记录就是你要的东西了
 
这么复杂的SQL??!!还是把它拆小点吧
 
这个问题我也遇到过,好像
在oracle 没有现在成的sql语句能地直接取出前50名
我是利用临时表来完成的
 
问题终于解决,只是没用到上面的方法,最后还是谢谢所有注意本贴的大侠们,谢谢你们
 
后退
顶部