查询问题!!!

xhwy2 2006-06-30 10:59:52
问题:1.一个表中有大量(几万人)的学生信息(其中学号为14位数),在Vf中要找出倒数第5位为1.    2.3.4的所有学生。 VF的命令如何写?SQL语句如何写?

问题2:语句如下:
   select t_jhk.zydh,t_jhk.jhzxs,td_zydh.zymc,td_zydh.zylb,decode("lqk".lqs,null,0,"lqk".lqs) "lqs",decode("tdd".yls,null,0,"tdd".yls) "yls"
   from t_jhk,td_zydh,
(select t_lqk.zydh lqk_zydh,count(t_lqk.zydh) lqs from t_lqk
where t_lqk.yxdh=:yxdh and
t_lqk.pcdm=:pcdm and
t_lqk.kldm=:kldm and
t_lqk.jhxz=:jhxz and
t_lqk.tddw=:tddw
group by t_lqk.zydh) "lqk",
(select t_tdd.lqzy tdd_zydh,count(t_tdd.lqzy) yls from t_tdd
where t_tdd.yxdh=:yxdh and
t_tdd.pcdm=:pcdm and
t_tdd.kldm=:kldm and
t_tdd.jhxz=:jhxz and
t_tdd.tddw=:tddw
group by t_tdd.lqzy) "tdd"
where t_jhk.yxdh=:yxdh and
  t_jhk.pcdm=:pcdm and
t_jhk.kldm=:kldm and
t_jhk.jhxz=:jhxz and
t_jhk.tddw=:tddw and
t_jhk.zydh="lqk".lqk_zydh(+) and
t_jhk.zydh="tdd".tdd_zydh(+) and
t_jhk.zydh=td_zydh.zydh(+) and
t_jhk.yxdh=td_zydh.yxdh and
t_jhk.kldm=td_zydh.kldm
order by td_zydh.zylb, td_zydh.zydh 

其中有两处不明白:1:decode("lqk".lqs,null,0,"lqk".lqs)"lqs",decode("tdd".yls,null,0,"tdd".yls) "yls"
         2:(select t_lqk.zydh lqk_zydh,count(t_lqk.zydh) lqs from t_lqk
where t_lqk.yxdh=:yxdh and
t_lqk.pcdm=:pcdm and
t_lqk.kldm=:kldm and
t_lqk.jhxz=:jhxz and
t_lqk.tddw=:tddw
group by t_lqk.zydh) "lqk",

请教!谢谢!






...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhwy2 2006-06-30
  • 打赏
  • 举报
回复
t_jhk.zydh="lqk".lqk_zydh(+) and
t_jhk.zydh="tdd".tdd_zydh(+) and
t_jhk.zydh=td_zydh.zydh(+) and
括号里的(+)是啥意思哦?有啥作用?
  • 打赏
  • 举报
回复
where substring(学号,5,1) in ('1','2','3','4')
昵称被占用了 2006-06-30
  • 打赏
  • 举报
回复
第二处具体哪里不明白?
昵称被占用了 2006-06-30
  • 打赏
  • 举报
回复
第二题
oracle的写法
decode("lqk".lqs,null,0,"lqk".lqs)"lqs"
如果"lqk".lqs是null ,那0 ,否则"lqk".lqs
相当于sql:
isnull("lqk".lqs,0) as "lqs"
昵称被占用了 2006-06-30
  • 打赏
  • 举报
回复
1 sql写法
where substring(REVERSE(学号),5,1) in ('1','2','3','4')

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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