union all 0 7 465

by 서울의달 [Oracle 기초] [2019.03.29 13:50:00]


CROP_20190329_134918.JPG (3,131,878Bytes)

오라클 쿼리 중

첨부파일 처럼 테이블에 로우가 3줄 sFlagCd가 01 03 04만 있는데

셀렉트문의 union all로

01 02 03 04 05 5로우가 나올수 있게 할수있나요?

by 우리집아찌 [2019.03.29 13:53:20]

먼저 5개 로우가 필요한 조건은 뭐가 있나요 

예) 입력변수 ,  데이터 , 고정값 등등


by 우리집아찌 [2019.03.29 14:13:10]

데이터가 6개 이면요


by 서울의달 [2019.03.29 14:13:14]

필요조건은 없고 select했을때 무조건 01~05 5줄 나오게 하고 싶습니다 예로 01 03 04만 있어도 union all로 01 02 03 04 05가 나오게 하고싶습니다


by 서울의달 [2019.03.29 14:14:29]

sFlagCd가 01~05 총 5개 뿐이라 5로우만 나올수 있으면 됩니다


by 우리집아찌 [2019.03.29 14:27:18]
— 모바일이라서 오타 있을수 있습니다

with copy_t as ( 
select lpad(level,2,’0’ ) sflagcd from dual connect by level <= 5
)

select a.sflagcd
         ,nvl(b.namt,0) as namt
         ,nvl(b.nannt,0) as nannt
  from copy_t a
        , t b
  where a.sflagcd = b.sflagcd(+)
 order by a.sflagcd

 


by 마농 [2019.03.29 14:47:15]
WITH code_t AS
(
SELECT '01' sFlagCd FROM dual
UNION ALL SELECT '02' FROM dual
UNION ALL SELECT '03' FROM dual
UNION ALL SELECT '04' FROM dual
UNION ALL SELECT '05' FROM dual
)
, data_t AS
(
SELECT '01' sFlagCd, 100 nAmt, 10 nAnnt FROM dual
UNION ALL SELECT '03', 200, 20 FROM dual
UNION ALL SELECT '04', 300, 30 FROM dual
)
SELECT a.sFlagCd
     , NVL(nAmt , 0) nAmt
     , NVL(nAnnt, 0) nAnnt
  FROM code_t a
  LEFT OUTER JOIN data_t b
    ON a.sFlagCd = b.sFlagCd
 ORDER BY a.sFlagCd
;

 


by 서울의달 [2019.03.29 17:45:05]

감사합니다!!

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