左外连接错误

时间:2016-03-04 14:19:22

标签: oracle

当我尝试进行左外连接时,我得到以下查询的此错误

第7行的错误: ORA-00936:缺少表达

select s.FINAL_BSAL,s.EMP_No,p.ERN_DDCT_CATNO,p.AMOUNT,n.NO_PAY_AMOUNT,
p.Pay_month,a.ARREARS_AMOUNT from salary_details s,pay_details p,Arrears a,No_Pay n 
where s.emp_no=p.emp_no 
and 
s.SAL_NO  IN (SELECT MAX(SAL_NO) FROM SALARY_DETAILS group by EMP_NO) 
AND
to_char(P.PAY_MONTH,'MM-YYYY') =to_char(n.NO_PAY_MONTH,'MM-YYYY') (+)
AND
to_char(P.PAY_MONTH,'MM-YYYY')=to_char(a.ARREARS_MONTH,'MM-YYYY') ;

请帮忙。

2 个答案:

答案 0 :(得分:2)

问题在于(+)

的展示位置

而不是:

to_char(P.PAY_MONTH,'MM-YYYY') =to_char(n.NO_PAY_MONTH,'MM-YYYY') (+)

你应该这样做:

to_char(P.PAY_MONTH,'MM-YYYY') =to_char(n.NO_PAY_MONTH (+),'MM-YYYY')

但是,如果我是你,我会选择@ Walter_Ritzel的方法并使用ANSI JOIN语法。那并正确格式化SQL以便它可读......

答案 1 :(得分:1)

试试这个:

curl -XPUT localhost:9200/test/_settings -d '{
"index" : {
    "refresh_interval" : "-1"
} }'