|
|
这是其中的一个sql语句:
DELETE FROM ABC_PAY WHERE CAL_DATE=V_CAL_DATE;
INSERT INTO ABC_PAY(CAL_DATE,DEVELOP_DEPT_NO,USER_KIND,AGE_RANGE,SEX,USER_DINNER,REG_PAY_TYPE,FACT_PAY_TYPE,CREDIT_DINNER,TOTAL_USERS,TOTAL_FEE)
SELECT V_CAL_DATE,B.DEVELOP_DEPT_NO,B.USER_KIND,C.CL_ID,B.SEX,B.USER_DINNER,B.PAY_TYPE,A.PAY_TYPE,B.CREDIT_DINNER,COUNT(*),SUM(CHARGE/D.COUNT_USERS)
FROM (SELECT PAY_TYPE,SUM(CHARGE) CHARGE,PAY_NO FROM UC_LOG_PAY
WHERE STATE_DATE<V_SYSDATE+1 AND STATE_DATE>=V_SYSDATE
GROUP BY PAY_NO,PAY_TYPE
)A,
MV_USER_INFO B,UC_RANGE C,
(SELECT PAY_NO,COUNT(*) COUNT_USERS FROM MV_USER_INFO GROUP BY PAY_NO) D
WHERE B.CUSTOMER_NAME<>'广州' AND B.CUSTOMER_NAME<>'广州市'
AND B.PAY_NO=A.PAY_NO AND B.PAY_NO=D.PAY_NO
AND C.MIN_LMT<= DECODE(LENGTH(B.BIRTHDAY),8,TO_NUMBER(TO_CHAR(V_SYSDATE,'YYYY'))-TO_NUMBER(SUBSTR(B.BIRTHDAY,1,4)),-1)
AND C.MAX_LMT>DECODE(LENGTH(B.BIRTHDAY),8,TO_NUMBER(TO_CHAR(V_SYSDATE,'YYYY'))-TO_NUMBER(SUBSTR(B.BIRTHDAY,1,4)),-1) AND C.CL_SCM_ID=4
AND B.IN_NET_DATE<V_SYSDATE+1
GROUP BY B.DEVELOP_DEPT_NO,B.USER_KIND,C.CL_ID,B.SEX,B.USER_DINNER,B.PAY_TYPE,A.PAY_TYPE,B.CREDIT_DINNER
UNION ALL
SELECT V_CAL_DATE,B.DEVELOP_DEPT_NO,B.USER_KIND,C.CL_ID,B.SEX,B.USER_DINNER,B.PAY_TYPE,'全部',B.CREDIT_DINNER,COUNT(*),SUM(CHARGE/D.COUNT_USERS)
FROM (SELECT SUM(CHARGE) CHARGE,PAY_NO FROM UC_LOG_PAY
WHERE STATE_DATE<V_SYSDATE+1 AND STATE_DATE>=V_SYSDATE
GROUP BY PAY_NO
)A,
MV_USER_INFO B,UC_RANGE C,
SELECT PAY_NO,COUNT(*) COUNT_USERS FROM MV_USER_INFO GROUP BY PAY_NO) D
WHERE B.CUSTOMER_NAME<>'广州' AND B.CUSTOMER_NAME<>'广州市'
AND B.PAY_NO=A.PAY_NO AND B.PAY_NO=D.PAY_NO
AND C.MIN_LMT<= DECODE(LENGTH(B.BIRTHDAY),8,TO_NUMBER(TO_CHAR(V_SYSDATE,'YYYY'))-TO_NUMBER(SUBSTR(B.BIRTHDAY,1,4)),-1)
AND C.MAX_LMT>DECODE(LENGTH(B.BIRTHDAY),8,TO_NUMBER(TO_CHAR(V_SYSDATE,'YYYY'))-TO_NUMBER(SUBSTR(B.BIRTHDAY,1,4)),-1) AND C.CL_SCM_ID=4
AND B.IN_NET_DATE<V_SYSDATE+1
GROUP BY B.DEVELOP_DEPT_NO,B.USER_KIND,C.CL_ID,B.SEX,B.USER_DINNER,B.PAY_TYPE,B.CREDIT_DINNER;
COMMIT; |
|