目前单位有这样一个需求跟踪停机用户复机的情况比如说停机时间为20090501 
那么就要跟踪他
20090502---20090802的复机情况想一天半没想出来表里字段有停机时间和复机时间 以及其他的维度
程序那边说SQL结果至少2700行数据也就是下面这个样子
        20090501  20090502......20090601    --横20090502
20090503
20090504
20090505
20090506 
.
.
.
.
20090802--纵
高人帮帮忙吧~ 能取到样式借我参考下就好~

解决方案 »

  1.   

    谢谢楼上的 只有你回答下
    可能我说的不是很明白刚才自己想了想 做出来了 
     SELECT NVL(STOP_DATE,'20090617'),NVL(B.AREA_ID,'-1'),'-1',NVL(CUST_TYPE,-1),B.DATE_ID,NVL(SUM(USER_NUM),0) FROM 
     (select ACCT_MONTH || ACCT_DAY STOP_DATE, --停机时间
           ACCT_dATE CM_DATE,                 --复机时间
           AREA_ID,
           DECODE(CUST_GROUP,'10007','30','10003','20','10001','10','30') CUST_GROUP,
           COUNT(*) USER_NUM 
      from NEW_DW.DW_CM_USER
      WHERE  ACCT_MONTH || ACCT_DAY='20090617'
      AND    ACCT_dATE>'20090617'
     GROUP BY ACCT_MONTH || ACCT_DAY, ACCT_dATE, AREA_ID,CUST_GROUP) A,(SELECT * FROM telecomdmcode.dmcode_stop_cm_user,   TELECOMDMCODE.DMCODE_AREA,TELECOMDMCODE.DMCODE_CUST_TYPE
      WHERE   DATE_ID>'20090617'
     AND DATE_ID<='20090917') B  ----维度表防止丢维度 限定复机时间不能小于停机时间  并去90天
     WHERE A.CM_DATE(+)=B.DATE_ID
           AND A.AREA_ID(+)=B.AREA_ID
           AND A.CUST_GROUP(+)=B.CUST_TYPE
     GROUP BY STOP_DATE,B.AREA_ID,'-1',CUST_TYPE,B.DATE_ID