17,380
社区成员
发帖
与我相关
我的任务
分享
SELECT E.USER_NO,CASE WHEN EXISTS (SELECT /*+parallel(b,10)*/ 1 FROM ODS.ODS_R_RENT_INFO_MON B WHERE b.user_id=e.user_no) THEN '1'ELSE '0'END is_heyue
FROM (SELECT /*+parallel(t,10)*/
T.USER_NO,
SUM(T.STAND_FEE_2 + T.LONG_FEE_2 + T.SPECIAL_FEE_2 + T.OTHER_FEE_2)
FROM ODS.ODS_O_OWE_GSM_MON T
WHERE (T.STAND_FEE_2 + T.LONG_FEE_2 + T.SPECIAL_FEE_2 +
T.OTHER_FEE_2) > 0
AND T.ACCT_MONTH = '201012'
AND 此处想选取min(T.OWE_MONTH)='201012'的数据
AND T.TELE_TYPE = '1'
GROUP BY T.USER_NO) T,
(SELECT /*+parallel(e,10)*/
E.USER_NO, E.TELE_TYPE
FROM EDW.DW_M_DEV_USER_MON E
WHERE E.ACCT_MONTH = '201012') E
WHERE T.USER_NO = E.USER_NO(+)
AND E.TELE_TYPE = '1200'
CREATE TABLE temp_owe_3g_20110406 AS
SELECT E.USER_NO,CASE WHEN EXISTS (SELECT /*+parallel(b,10)*/ 1 FROM ODS.ODS_R_RENT_INFO_MON B WHERE b.user_id=e.user_no) THEN '1'ELSE '0'END is_heyue
FROM (SELECT /*+parallel(t,10)*/
T.USER_NO,
SUM(T.STAND_FEE_2 + T.LONG_FEE_2 + T.SPECIAL_FEE_2 + T.OTHER_FEE_2)
FROM ODS.ODS_O_OWE_GSM_MON T
WHERE (T.STAND_FEE_2 + T.LONG_FEE_2 + T.SPECIAL_FEE_2 +
T.OTHER_FEE_2) > 0
AND T.ACCT_MONTH = '201012'
AND T.OWE_MONTH ='201012'
AND T.TELE_TYPE = '1'
GROUP BY T.USER_NO) T,
(SELECT /*+parallel(e,10)*/
E.USER_NO, E.TELE_TYPE
FROM EDW.DW_M_DEV_USER_MON E
WHERE E.ACCT_MONTH = '201012') E
WHERE T.USER_NO = E.USER_NO(+)
AND E.TELE_TYPE = '1200'
CREATE TABLE TEMP_OWE_3G_20110412 AS
SELECT /*+parallel(t,10)*/
T.USER_NO, T.IS_HEYUE
FROM TEMP_OWE_3G_20110406 T
WHERE NOT EXISTS (SELECT /*+parallel(t1,10)*/
1
FROM ODS.ODS_O_OWE_GSM_MON T1
WHERE T1.USER_NO = T.USER_NO
AND (T1.STAND_FEE_2 + T1.LONG_FEE_2 + T1.SPECIAL_FEE_2 +
T1.OTHER_FEE_2) > 0
AND T1.ACCT_MONTH = '201012'
AND T1.OWE_MONTH < '201012'
AND T1.TELE_TYPE = '1')