오라클 빈 row 삽입 문의 0 3 631

by 루펠 [SQL Query] [2018.03.19 20:33:34]


rno , page_group , no , name , .........
1     1            1
2     1            5
3     1            9
4     1            13
1     2            2
2     2            6
3     2            10
4     2            14
1     3            3
2     3            7
3     3            11
1     4            4
2     4            8
3     4            12

위와 같은 데이타가 있습니다. 1페이부터 4페이지까지 page_group 에 해당하는 데이타가 rno 순서로 찍힙니다.
그런데 3페이지와 4페이지는 데이타가 3건밖에 없기 때문에 아래와 같이 rno 4에 해당하는 빈 row 를 만들어 주고 싶은데 어떻게 하면 될까요?

rno , page_group , no , name , .........
1     1            1
2     1            5
3     1            9
4     1            13
1     2            2
2     2            6
3     2            10
4     2            14
1     3            3
2     3            7
3     3            11
4     3                      <= 빈 row
1     4            4
2     4            8
3     4            12
4     4                      <= 빈 row

by 우리집아찌 [2018.03.20 09:01:02]

SELECT 문이 필요하신건가요? 

SQL문 올려주세요.


by 마농 [2018.03.20 10:11:45]
WITH t AS
(
SELECT CEIL(LEVEL / 4) rno
     , MOD(LEVEL - 1, 4) + 1 page_group
     , LEVEL no
     , CHR(LEVEL + 64) name
  FROM dual
 CONNECT BY LEVEL <= 14
)
SELECT a.rno
     , b.page_group
     , b.no
     , b.name
  FROM (SELECT LEVEL rno FROM dual CONNECT BY LEVEL <= 4) a
  LEFT OUTER JOIN t b
  PARTITION BY (b.page_group)
    ON a.rno = b.rno
 ORDER BY b.page_group, a.rno
;

 


by 루펠 [2018.03.21 13:18:01]

감사합니다. 잘 응용해 보겠습니다~

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