SELECT XT.TCODE,
TD.RTEAM_LEVEL1+'-'+RTEAM_LEVEL1_DESC TNAME1,
TD.RTEAM_LEVEL2+'-'+RTEAM_LEVEL2_DESC TNAME2,
TD.RTEAM_LEVEL3+'-'+RTEAM_LEVEL3_DESC TNAME3,  
AUXREASON,AUXCOUNT,AUXTIME  FROM 
(
SELECT T.TEAM_CODE AS TCODE,cast(R.REASON_CODE as varchar)+'-'+R.REASON_NAME AS AUXREASON, 
sum(X.RAUX_REASON_CONT) AS AUXCOUNT,sum(X.RAUX_REASON_TIME) AS AUXTIME   
FROM REP_AUX_REASON_DAY AS X,TEAM AS T,AUX_REASON AS R,TEAM TS  
WHERE X.AG_TEAM =* TS.TEAM_CODE 
AND X.RAUX_REASON_CODE =* R.REASON_CODE  
AND TS.TEAM_PATH LIKE T.TEAM_PATH+'%'    
AND ( T.TEAM_CODE='T1110' OR T.TEAM_CODE='T1120' OR T.TEAM_CODE='T1130' OR T.TEAM_CODE='T1180' 
OR T.TEAM_CODE='T1210' OR T.TEAM_CODE='T1220' OR T.TEAM_CODE='T2110'
OR T.TEAM_CODE='T2180' )
and
RAUX_REPORT_DATE >= '2007/04/01' 
and RAUX_REPORT_DATE < convert(datetime,'2007/04/17')+1  
group by T.TEAM_CODE,R.REASON_CODE,R.REASON_NAME

AS XT,REP_TEAM_DAY TD  
WHERE XT.TCODE *= TD.RTEAM_CODE ORDER BY TNAME1,TNAME2,TNAME3,AUXREASON 想将这个sql转到oracle上去,而且要解决两个外连问题,我试过了总是有点小问题,求高手指点。

解决方案 »

  1.   

    用这个事实看,如果抱错,贴出错误再来修改,没办法,没有表结构:
    SELECT XT.TCODE,
    TD.RTEAM_LEVEL1||'-'||RTEAM_LEVEL1_DESC TNAME1,
    TD.RTEAM_LEVEL2||'-'||RTEAM_LEVEL2_DESC TNAME2,
    TD.RTEAM_LEVEL3||'-'||RTEAM_LEVEL3_DESC TNAME3,  
    AUXREASON,AUXCOUNT,AUXTIME  FROM 
    (
    SELECT T.TEAM_CODE AS TCODE,cast(R.REASON_CODE as varchar2(100))||'-'||R.REASON_NAME AS AUXREASON, 
    sum(X.RAUX_REASON_CONT) AS AUXCOUNT,sum(X.RAUX_REASON_TIME) AS AUXTIME   
    FROM REP_AUX_REASON_DAY AS X,TEAM AS T,AUX_REASON AS R,TEAM TS  
    WHERE X.AG_TEAM =TS.TEAM_CODE(+) 
    AND X.RAUX_REASON_CODE =R.REASON_CODE(+)  
    AND TS.TEAM_PATH LIKE T.TEAM_PATH+'%'    
    AND ( T.TEAM_CODE='T1110' OR T.TEAM_CODE='T1120' OR T.TEAM_CODE='T1130' OR T.TEAM_CODE='T1180' 
    OR T.TEAM_CODE='T1210' OR T.TEAM_CODE='T1220' OR T.TEAM_CODE='T2110'
    OR T.TEAM_CODE='T2180' )
    and
    RAUX_REPORT_DATE >= to_date('2007/04/01','YYYY/MM/DD') 
    and RAUX_REPORT_DATE < TO_DATE('2007/04/17','YYYY/MM/DD')+1  
    group by T.TEAM_CODE,R.REASON_CODE,R.REASON_NAME

    XT,REP_TEAM_DAY TD  
    WHERE XT.TCODE(+)= TD.RTEAM_CODE ORDER BY TNAME1,TNAME2,TNAME3,AUXREASON
      

  2.   

    T.TEAM_PATH+'%'    改为 T.TEAM_PATH||'%' 
    m没有表结构,连接的事情就不好说了