select distinct a.indi_id,a.name,decode(a.sex,1,'男','女') as sex,trunc(months_between(sysdate,a.birthday)/12) as birthday,a.idcard, c.insur_org_no,c.insur_org_name, b.corp_id,b.corp_code,b.corp_name,b.linkman,b.linkman_phone, a.address,a.post_code,a.telephone
from bs_insured a, bs_corp b, bs_insur_org c ,bs_out_change d,bs_out e
where a.corp_id = b.corp_id and a.insur_org_no = c.insur_org_no and a.indi_id = e.indi_id and d.leave_no=e.leave_no
and d.leave_no=(case
when (select max(leave_no) from bs_out where indi_id=210384 and audit_flag <>2 and d.change_content<>'insur_org_no' and d.change_content<>'hospital_id')is not null
then (select max(leave_no) from bs_out where indi_id=210384 and audit_flag <>2 and d.change_content<>'insur_org_no' and d.change_content<>'hospital_id')
else null
end)
AND a.indi_sta = 1
AND a.indi_id = 210384
and b.corp_type_code <> 80 重点在红色那两句,我想请问一下,如何使的,当else的时候and d.leave_no=不执行
from bs_insured a, bs_corp b, bs_insur_org c ,bs_out_change d,bs_out e
where a.corp_id = b.corp_id and a.insur_org_no = c.insur_org_no and a.indi_id = e.indi_id and d.leave_no=e.leave_no
and d.leave_no=(case
when (select max(leave_no) from bs_out where indi_id=210384 and audit_flag <>2 and d.change_content<>'insur_org_no' and d.change_content<>'hospital_id')is not null
then (select max(leave_no) from bs_out where indi_id=210384 and audit_flag <>2 and d.change_content<>'insur_org_no' and d.change_content<>'hospital_id')
else null
end)
AND a.indi_sta = 1
AND a.indi_id = 210384
and b.corp_type_code <> 80 重点在红色那两句,我想请问一下,如何使的,当else的时候and d.leave_no=不执行
解决方案 »
- 本地计算机 上的 OracleOraDb11g_home1TNSListener 服务启动后停止。
- pl/sql 怎么截取blob字段到一张表里
- 表空间问题:知道一个表空间所在的位置,但是试图登录表空间的时候提示无法登录 ,用system/manager登录提示是:ERROR:ORA-01033: ORACLE initialization or shutdown in progress
- 怎样实现这样的select(标题不太好说明)?
- 关于oracle里的几个数据类型请指教,一点难度都没有,知道的告诉一下,谢谢了!
- C#开发到oracle数据库的接口
- 快急死了
- oracle中必须用to_date函数才能够把日期型的值保存进数据库吗?
- Oracle数据库查询
- control database- orcl打开特别慢是什么原因
- oracle9i的存储过程在换服务器后运行出错,报ora-01007
- 如何用plsql语句查询出实效的触发器、视图、表、过程、包等。急急!!
select distinct a.indi_id,a.name,decode(a.sex,1,'男','女') as sex,trunc(months_between(sysdate,a.birthday)/12) as birthday,a.idcard, c.insur_org_no,c.insur_org_name, b.corp_id,b.corp_code,b.corp_name,b.linkman,b.linkman_phone, a.address,a.post_code,a.telephone
from bs_insured a, bs_corp b, bs_insur_org c ,bs_out_change d,bs_out e
where a.corp_id = b.corp_id and a.insur_org_no = c.insur_org_no and a.indi_id = e.indi_id and d.leave_no=e.leave_no
AND a.indi_sta = 1
AND a.indi_id = 210384
and b.corp_type_code <> 80 相当去掉了那and后面的东西.这样怎么实现?