select PR.Create_date,
PR.CUST_APP_NO,
PR.Cont_plan_ID,
PL.product_name,
mem.proposal_info_fk,
mem.o_id,
qa.qus_id_fk,
qa.qus_response
from ADMIN.t_proposal_info PR
INNER JOIN admin.T_plan_type PL
on replace(PR.CONT_PLAN_ID,'~',NULL)=pl.plan_code
inner join ADMIN.t_member_info mem
on pr.o_id=mem.proposal_info_fk
INNER JOIN ADMIN.t_short_qus_ans QA
on mem.proposal_info_fk=qa.proposer_id_fk`your text`
inner join ADMIN.t_short_qus_ans QA
on mem.o_id=qa.member_id_fk
where pl.plan_product_type_fk='105'
and qa.qus_id_fk in ('5','91')
and qa.qus_response='No'
and pr.is_cust_split='No'
and pr.cust_renew_flag='~N'
and pr.create_date>='01-MAY-23';`
1条答案
按热度按时间ep6jt1vc1#
问题是您在两个联接中使用了相同的别名。所以,错的是:
相反,它应该像下面这样:
到目前为止,我还没有看到任何其他的事情,似乎对我来说不好。我的建议是:无论何时你有一个复杂的查询,从小开始,一次写一个过滤条件和一个连接,并测试它在sqldeveloper或其他Oracle IDE中的运行情况,或者最终在一些更花哨的IDE中运行,它可以在几个品牌的数据库上工作(如DBeaver或DBArtisan)。因此,您可以更快地知道何时出错,并更容易地修复错误。