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
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 ;