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" 세가지 입니다
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} )
또는..
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