서브쿼리? 0 3 4,689

by 또 티베로 오라클 [2024.03.08 15:21:54]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  SELECT DISTINCT
              A.COMP_SEQ
            , A.REQUEST_SEQ
            , A.REQUEST_NO
            , A.REQUEST_DATE
            , A.REQUEST_KIND
            , B.REQUEST_SERL
            , B.FROM_SERL
            , B.FROM_SUBSERL       
        FROM (
               FROM ${_PARAMS}
              ) X
        INNER JOIN LG_TRANS_REQUEST_TB A
            ON X.COMP_SEQ = A.COMP_SEQ
            AND X.REQUEST_SEQ = A.REQUEST_SEQ
 
        INNER JOIN LG_TRANS_REQUEST_ITEM_TB B 
            ON  A.COMP_SEQ = B.COMP_SEQ 
            AND A.REQUEST_SEQ = B.REQUEST_SEQ

에서 ${_PARAMS} 값이

FROM (    
         SELECT '1' AS COMP_SEQ, '45912' AS REQUEST_SEQ, '1' AS WORK_DTL_SEQ, 'dummy' AS DUMMY FROM DUAL UNION ALL
         SELECT '1' AS COMP_SEQ, '45919' AS REQUEST_SEQ, '1' AS WORK_DTL_SEQ, 'dummy' AS DUMMY FROM DUAL UNION ALL
         SELECT '1' AS COMP_SEQ, '46044' AS REQUEST_SEQ, '1' AS WORK_DTL_SEQ, 'dummy' AS DUMMY FROM DUAL UNION ALL
         SELECT '1' AS COMP_SEQ, '46044' AS REQUEST_SEQ, '1' AS WORK_DTL_SEQ, 'dummy' AS DUMMY FROM DUAL UNION ALL
         SELECT '1' AS COMP_SEQ, '45920' AS REQUEST_SEQ, '1' AS WORK_DTL_SEQ, 'dummy' AS DUMMY FROM DUAL
     ) X

 

이렇게 출력이 됩니다 

FROM ( FROM ${_PARAMS} ) X  데이터 REQUEST_SEQ 값이 중복된것 (46044)을 중복안되게 처리하고 싶습니다

FROM ( FROM ${_PARAMS} ) X 여기에 서브쿼리를 사용하거나 DISTENCT 를 사용하여 출력하는 방법좀 알려주세요 ㅠㅠ

참고로 저기 사용되는 쿼리는 "COMP_SEQ  REQUEST_SEQ  WORK_DTL_SEQ" 세가지 입니다

 

by 솔밭 [2024.03.08 23:06:50]

SELECT DISTINCT
              A.COMP_SEQ
            , A.REQUEST_SEQ
            , A.REQUEST_NO 
            , A.REQUEST_DATE
            , A.REQUEST_KIND
            , B.REQUEST_SERL
            , B.FROM_SERL
            , B.FROM_SUBSERL        
        FROM LG_TRANS_REQUEST_TB A INNER JOIN LG_TRANS_REQUEST_ITEM_TB B 
            ON  A.COMP_SEQ = B.COMP_SEQ 
            AND A.REQUEST_SEQ = B.REQUEST_SEQ
WHERE ( A.COMP_SEQ, A.REQUEST_SEQ ) IN ( SELECT X.COMP_SEQ,  X.REQUEST_SEQ  ${_PARAMS}  )    


by 솔밭 [2024.03.08 23:11:20]

또는.. 

SELECT DISTINCT
              A.COMP_SEQ
            , A.REQUEST_SEQ
            , A.REQUEST_NO 
            , A.REQUEST_DATE
            , A.REQUEST_KIND
            , B.REQUEST_SERL
            , B.FROM_SERL
            , B.FROM_SUBSERL        
        FROM ( SELECT DISTINCT X.COMP_SEQ, X.REQUEST_SEQ
                  ${_PARAMS}
              ) X
        INNER JOIN LG_TRANS_REQUEST_TB A
            ON X.COMP_SEQ = A.COMP_SEQ
            AND X.REQUEST_SEQ = A.REQUEST_SEQ 
        INNER JOIN LG_TRANS_REQUEST_ITEM_TB B 
            ON  A.COMP_SEQ = B.COMP_SEQ 
            AND A.REQUEST_SEQ = B.REQUEST_SEQ    


by 또 [2024.03.11 08:30:26]

밑에걸로 하니까 금방 해결되더라구요 !! 답변주셔서 감사합니다 ;)

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