0
以下是这是给我的错误查询:ORA-01427:单行子查询返回不止一行01427. 00000 - “单行子查询返回多个行”
- 如果ed_temp和ed_indv_counters使用edg_trace_id进行连接。
- 如果Ed_eligiblity将current_elig_ind设置为'P',那么采用该edg_trace_id else,将edg_trace_id与current_elig_ind'A'相加。
查询:
select distinct
i.edg_trace_id,
i.*
from ed_indv_counters i,
ed_temp e
where e.case_num = '720335'
and e.payment_beg_dt<'30-JUL-2017'
and e.program_cd = 'TF'
and e.delete_sw='N'
and di_ind='Y'
and counter_type_cd='TLP'
and i.edg_trace_id in (
CASE e.current_elig_ind
WHEN 'P' then e.edg_trace_id
ELSE (
Select e1.edg_trace_id
from ed_temp e1
where e1.case_num='720335'
and e1.program_cd = 'TF'
and e1.delete_sw='N'
and e1.current_elig_ind='A'
and e1.payment_beg_dt not in (
select payment_beg_dt
from ed_temp e2
where e2.current_elig_ind='P'
and e2.case_num='720335'
and e2.delete_sw='N'
and e2.program_cd = 'TF'
)
)
END
)
order by i.counter_begin_dt;
这个查询作品完美,但有调整它的任何方式。 ed_temp表有100列,并加入这给我的性能问题 –