oralce 我应该使用存储过程还是 视图

ddsseser 发布于 2017/02/09 09:30
阅读 233
收藏 0

项目遇到一个问题 

学生表   结构 :  id (主键) name (名称) scid(学校id) claid(班级id)

请假表   结构 :id(主键stuid(学生id)  type(请假类型)  letime(请假时间) scid(学校id) claid(班级id)

现在的需求是  老师每天上课要 点名   我需要 将学生表中  属于 id为abc 班级的所有学生取出来 然后再看 请假表中的 所有请假的学生 在学生表查询出来的结果中 标识出来

查询结果集是 班级所有的学生 并且在请假类型字段中 标识 属于请假  还是正常

结果集  :                                        

stuid(学生id)   name(名称) type(请假类型) letime(请假时间)
uuid   小明   正常   
uuid 小花 请假 2017-02-09
uuid 小红 正常  

很少写存储过程  和视图  现在遇到问题了, 有问过一个大神 告诉我 用 存储过程 创建一个临时表  先将 学生表的数据都 存进去然后 根据学生id 将 请假表的 数据 更新进去 最后查询 这张临时表   我尝试着写了一下 没成功 求各位大神指点

加载中
0
IdleMan
IdleMan
select a.id, a.name, nvl(b.请假类型, '正常') 请假类型, b.letime
  from 学生表 a
  left join 请假表 B
    on a.scid = b.scid
   and a.claid = b.claid
   and a.id = b.id
 where a.claid = 'abc'

 

d
ddsseser
where a.fclassid
d
ddsseser
是的 我已经解决了 select a.id,a.nam,b.type,b.fesbegday from x_base_student a left join (select * from x_leavemeal_info where fclassid=? and fesbegday =to_date(?,'yyyy-mm-dd')b on a.fstudentid=b.fstudent
0
柯林君
柯林君
你倒是说遇到什么问题呀?你要别人指点啥?
0
求是科技
求是科技

这个应该不需要使用存储过程吧,纯sql就能搞定哇

0
利_devil

关联一下表,一查不就可以,楼上正解

返回顶部
顶部