oracle 을 impala로 변경하고 싶습니다

oracle 을 impala로 변경하고 싶습니다

작성일 2024.02.22댓글 1건
    게시물 수정 , 삭제는 로그인 필요

oracle sql 을 impala sql로  변경하고 싶습니다 


오라클 안에서는 (+)를이용 해서  inner join이랑 outer join이랑 같이 사용이 가능한데 

임팔라에서는 어떻게 해야 하는지 잘 모르겠습니다 


쿼리는 아래와 같습니다 



    SELECT '202310' WORK_YM
           , CASE WHEN FAC_ID IN ('M14B') THEN 'M14' ELSE FAC_ID END AS FAC_ID 
           , FAB_DEVICE_CD, STD_OPER_ID, SUM(AMT)/SUM(QTY) AS WF_PER_MATL_AMT 
     FROM ( 
      SELECT WORK_YM, A.FAC_CD AS FAC_ID, B.FAB_DEVICE_CD, OPER_CD AS STD_OPER_ID 
        , SUM(PROC_QTY) AS QTY  
      , SUM(CASE WHEN AMT_UNIT='CNY' THEN PROC_AMT * CNY_RATE ELSE PROC_AMT END) AS AMT  
      FROM GMS.GMS_COI_EQPMAT A,GMS.GMS_STD_PRDMAS B, DMC_CODE02 C 
      ,GMS.GMS_STD_FACSTEP D 
      WHERE A.WORK_YM  BETWEEN TO_CHAR(ADD_MONTHS(TO_DATE('202310', 'YYYYMM'),-2),'YYYYMM') AND '202310' --상단조건
     -- AND A.FAC_CD=A.FAB_CD 
     
      AND A.WORK_YM = C.WORK_MM 
      
      AND A.COST_PROD_ID = B.PROD_ID(+) 
      AND CASE WHEN A.FAC_CD IN ('M14B') THEN 'M14' ELSE A.FAC_CD END = D.FAC_CD 
      AND A.OPER_CD = D.STEP_CD 
      AND CASE WHEN A.FAC_CD IN ('M14B') THEN 'M14' ELSE A.FAC_CD END IN ('M14') --상단조건 
      AND B.FAMILY_CD IN ('DRAM') --추가 2022.10.27 
      AND B.TECH_CD IN ('RG') --추가 2022.10.27 
      GROUP BY WORK_YM, A.FAC_CD, B.FAB_DEVICE_CD, OPER_CD 
    )
    WHERE 1=1
    AND AMT>0 AND QTY>0
    GROUP BY CASE WHEN FAC_ID IN ('M14B') THEN 'M14' ELSE FAC_ID END, FAB_DEVICE_CD, STD_OPER_ID


#oracle dmf

profile_image 익명 작성일 -

ANSI 쿼리로 변경했는데 확인해보세요

SELECT

'202310' WORK_YM,

CASE WHEN FAC_ID IN ('M14B') THEN 'M14' ELSE FAC_ID END AS FAC_ID,

FAB_DEVICE_CD, STD_OPER_ID,

SUM(AMT)/SUM(QTY) AS WF_PER_MATL_AMT

FROM (

SELECT

WORK_YM, A.FAC_CD AS FAC_ID, B.FAB_DEVICE_CD, OPER_CD AS STD_OPER_ID,

SUM(PROC_QTY) AS QTY,

SUM(CASE WHEN AMT_UNIT='CNY' THEN PROC_AMT * CNY_RATE ELSE PROC_AMT END) AS AMT

FROM GMS.GMS_COI_EQPMAT A

OUTER JOIN GMS.GMS_STD_PRDMAS B ON A.COST_PROD_ID = B.PROD_ID

INNER JOIN DMC_CODE02 C ON A.WORK_YM = C.WORK_MM

INNER JOIN GMS.GMS_STD_FACSTEP D ON A.OPER_CD = D.STEP_CD

WHERE A.WORK_YM BETWEEN TO_CHAR(ADD_MONTHS(TO_DATE('202310', 'YYYYMM'),-2),'YYYYMM') AND '202310' --상단조건

-- AND A.FAC_CD=A.FAB_CD

AND CASE WHEN A.FAC_CD IN ('M14B') THEN 'M14' ELSE A.FAC_CD END = D.FAC_CD

AND CASE WHEN A.FAC_CD IN ('M14B') THEN 'M14' ELSE A.FAC_CD END IN ('M14') --상단조건

AND B.FAMILY_CD IN ('DRAM') --추가 2022.10.27

AND B.TECH_CD IN ('RG') --추가 2022.10.27

GROUP BY WORK_YM, A.FAC_CD, B.FAB_DEVICE_CD, OPER_CD

)

WHERE 1=1

AND AMT>0 AND QTY>0

GROUP BY CASE WHEN FAC_ID IN ('M14B') THEN 'M14' ELSE FAC_ID END, FAB_DEVICE_CD, STD_OPER_ID

mysql DB를 oracle DB로 변경해서...

mysql 사용하고 있습니다. 그런데, 워낙 DB가 방대해지면서, 현격히... 자세한 방법을 알고 싶습니다. 그러니까, 원하시는게 새로 Oracle에서...

MYSQL DB Table로 바꾸고 싶습니다.

... url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL"; Class.forName("oracle.jdbc.... (articleid)) 다음처럼 변경하시면 돼겟습니다. create table board...

맥북에서 jdk설치중 오류

... 삭제하고 싶습니다ㅠ 제가 막히는 부분은 설치해본 분들은... 변경사항을 적용한다는 뜻이에요. 그 다음 java --version 입력하면 jre, jdk가 보이실 거에요. 에러...

오라클 9i 와 10g 동시설치 가능여부

... 알고 싶습니다. 신규 프로그램이 10g에 맞추어서... 다시 변경하여야 하는데.. 오라클은 처음 해보았기... "\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE" root로 설정하고...

부품/오버클럭/ 모든걸 알고싶습니다!!

... 이해하고 싶습니다. 2. 부품별 기능 및 호환여부... SQL은 IBM의 DB2, 마이크로소프트의 Access 그리고 Oracle, Sybase... 주변장치가 바뀌면 바이오스 프로그램만 변경하면 된다....

SCJP자격증에 대해 궁금합니다.

... 등등 알고싶습니다. ㅎㅎ 이러한 것 말고도 저에게... OCJP로 변경이되었습니다. 자바는 기존... S와 O의 차이점은 SUN과 Oracle의 차이입니다. 최근자바개발자취업을...

주말교육이 가능한지 알고 싶습니다.

... 알고 싶습니다. 주말에도 자바를 공부할수... 카드분실신고,훼손,재발급신청,출금계좌변경등은... ^ 』 ▶ 오라클 취업반[Oracle DataBase 실무전문가] 뭐 간단히는...



    test ad