col1 | col2 | col3
데이타가 이런식으로 들어가 있는데요..
col1과 col3 컬럼에 들어간 데이타에서 빈칸이 들어가 있는 곳을
앞자리로 매꾸려면 어떤식으로 쿼리를 써야 할까요?
즉..col1에서 2 다음 빈칸이니깐 다음 5가 나올때까지 2로 채워야 합니다..
col1
-->이런식으로요..
쿼리 결과를 이렇게 나오게 하려면.. 어떻게 해야하는거죠????
col3 도 마찬가지구요....
어떻게 쿼리를 짜야 들어갈까요?
알려주세욤
테이블명을 test, 각 칼럼명을 col1,col2,col3, 그리고 데이타가 순차적으로 insert 되었다고 가정하면,
SELECT DECODE (a.col1, NULL, (SELECT col1 FROM TEST WHERE ROWID = (SELECT MAX (ROWID) FROM TEST WHERE ROWID <= a.ROWID AND col1 IS NOT NULL)), a.col1 ) col1, col2, DECODE (a.col3, NULL, (SELECT col3 FROM TEST WHERE ROWID = (SELECT MAX (ROWID) FROM TEST WHERE ROWID <= a.ROWID AND col3 IS NOT NULL)), a.col3 ) col3 FROM TEST a
-- Oracle SQL Tuning 까페 http://cafe.daum.net/oraclesqltuning