试一下
select A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,1),B.VAL)) KPI,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,2),B.VAL)) GR_ML,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,3),B.VAL)) ML
from PERSON_INFO_JEELONXU A,XC_DEL B
WHERE A.calc_obj_type(+)=B.calc_obj_type
GROUP BY A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR
select A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,1),B.VAL)) KPI,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,2),B.VAL)) GR_ML,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,3),B.VAL)) ML
from PERSON_INFO_JEELONXU A,XC_DEL B
WHERE A.calc_obj_type(+)=B.calc_obj_type
GROUP BY A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR
select A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,1),B.VAL)) KPI,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,2),B.VAL)) GR_ML,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,3),B.VAL)) ML
from PERSON_INFO_JEELONXU A,XC_DEL B
WHERE A.calc_obj_type(+)=B.calc_obj_type
and instr(','||A.DIVISOR||',',','||B.RULE_ID||',')>0
GROUP BY A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR
我要查询所有PERSON_INFO_JEELONXU 无论是否满足对应条件,改右连接就可以了吧
select A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,1),B.VAL)) KPI,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,2),B.VAL)) GR_ML,
MAX(DECODE(B.RULE_ID,REGEXP_SUBSTR(A.DIVISOR,'[^,]+',1,3),B.VAL)) ML
from PERSON_INFO_JEELONXU A left join XC_DEL B
on A.calc_obj_type=B.calc_obj_type
and instr(','||A.DIVISOR||',',','||B.RULE_ID||',')>0
GROUP BY A.MONTH_ID, A.CALC_OBJ_NO, A.ORG_NAME, A.CALC_OBJ_TYPE,
A.CALC_OBJ_TYPE_DESC, A.CALC_OBJ_NAME, A.DIVISOR