A는 전체 ROWDATA이고 B는 KEY값만있어요
원하는 출력물은
A의전체데이터를 뽑아내되, A의 두컬럼에 각각 B값을 일부분 포함하고있으면 O없으면 X로 출력하고자합니다.
즉
B.YR A.USR_ID, A.CD A.USR_ID_OX A_CD_OX
2021 AAA2022 2021SPRING X O
2021 BBB2021 2022SUMMER O X
.
.
2022 AAA2022 2021SPRING O X
---
아레는 제가 구현하다 중단된 쿼리입니다
모든행에서 B테이블의 KEY값을 확인해봐야하는데
그렇게 안되고 하위에 2행이 값이 나오는 오류가 나오네요,,,
WITH A AS
(
SELECT 'AAA2022'AS USR_ID
,'2021SPRING' AS CD
FROM DUAL
UNION
SELECT 'BBB2021'AS USR_ID
,'2022SUMMER' AS CD
FROM DUAL
UNION
SELECT 'CCC2021'AS USR_ID
,'2021SPRING' AS CD
FROM DUAL
)
WITH B AS
(
SELECT '2021' AS YR
FROM DUAL
UNION
SELSECT '2022' AS YR
FROM DUAL
)
SELECT
A.*,
CASE WHEN
1=(SELECT 1
FROM B
WHERE A.USR_ID LIKE '%' B.YR || '%')
THEN 'O' ELSE 'X'
END B1_OX,
CASE WHEN
1=(SELECT 1
FROM B
WHERE A.CD LIKE '%' B.YR || '%')
THEN 'O' ELSE 'X'
END B2_OX
FROM A
|