[Oracle] 일대다 구조때문에 속도가 안나옴니다. 이럴땐 어떻게 해결해야하나요? 0 1 401

by 제이슨 [SQL Query] [2022.01.08 19:31:50]


SELECT *
FROM   oc_clm_amt claimamoun0_
       INNER JOIN oc_ord order1_
               ON ( order1_.ord_no = claimamoun0_.ord_no )
       INNER JOIN oc_clm claim2_
               ON ( claim2_.ord_no = order1_.ord_no )
       INNER JOIN oc_ord_pay orderpayme3_
               ON ( orderpayme3_.ord_no = order1_.ord_no )
       INNER JOIN oc_ord_prd_dlv orderprodu4_
               ON ( orderprodu4_.ord_no = order1_.ord_no )
WHERE  order1_.ord_stat_cd = 'Complete'
       AND order1_.clm_yn = 'Y'
       AND orderprodu4_.dlv_rls_stat_cd = 'Complete'
       AND claimamoun0_.ord_amt_tp_cd = 'PaymentPG'
       AND claim2_.clm_tp_cd <> 'Redelivery'
       AND orderpayme3_.pay_stat_cd = 'Waiting'
       AND orderpayme3_.pay_mth_cd = 'CREDIT'
       AND Length(orderpayme3_.charge_permission_id) <> 0
       AND Length(orderpayme3_.charge_id) <> 0
       AND orderpayme3_.charge_state = 'Authorized'
ORDER  BY claimamoun0_.reg_dt DESC;

 

문제가 되는 부분이 아래입니다.

하나의 주문에 대해서 주문상품이 여러개인 일대다 구조이고

아래처럼 이너 조인하면 상품갯수가 8개이면 한개의 주문이라도 8개의 레코드가 출력됩니다 

INNER JOIN oc_ord_prd_dlv orderprodu4_ ON ( orderprodu4_.ord_no = order1_.ord_no )  
distinct 로 어떻게 해결할수 잇을까요 다른 구조로 sql 짤 수 있을까요

 

by 마농 [2022.01.10 09:43:45]

상품 조인이 꼭 필요할까? 고민해 보세요.
조인이 굳이 필요 없을 수도 있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입