안녕하세요.
쿼리 작성중 궁금한 내용이 있어서 이렇게 글을 남깁니다.
많은 지도 부탁드립니다.
<조회값>
WITH T AS (
SELECT '공통' AS a,'공통' AS b,'공통' AS c FROM DUAL UNION ALL
SELECT '공통','공통','개별' FROM DUAL UNION ALL
SELECT '공통','개별','개별' FROM DUAL UNION ALL
SELECT '개별','개별','개별' FROM DUAL
)
select
a,b,c
from
t
<결과값>
WITH T AS (
SELECT '공통' AS a,'공통' AS b,'공통' AS c, 'A' flag FROM DUAL UNION ALL
SELECT '공통','공통','개별', 'B' flag FROM DUAL UNION ALL
SELECT '공통','개별','개별', 'C' flag FROM DUAL UNION ALL
SELECT '개별','개별','개별', 'D' flag FROM DUAL
)
select
a,b,c,flag
from
t
[궁금증]
<조회값>들을 <결과값>과 같이 flag를 넣어서 구분하고 싶습니다.
개인적으로 고민한결과 flag의 값을 구하는 방법으로
1. DECODE를 이용한다
2. UNION을 이용해서 WHERE절로 구분해서 구한다.
이렇게 2가지 방법이 생각이 나는대요.
이 방법말고 다른 좋은 방법이 있는지 궁금합니다.