LEAD,LAG 사용시 특정값만 조회 안되는 현상 0 1 1,253

by weotjqw [Oracle 기초] LEAD LAG [2019.06.19 09:04:31]


1.PNG (14,425Bytes)
1-1.PNG (3,801Bytes)
2.PNG (4,736Bytes)

안녕하세요 이전글,다음글 조회를 위해서 LEAD,LAG  를 쓰고 있습니다.

1. 이미지 처럼 테이블이 있습니다.

2.  아래 퀴리를 이용해서 데이터를 조회하면 정상적으로 다  출력 됩니다 특히 REPLYCNT 컬럼을 보시면 1이라고 들어있습니다.

SELECT * FROM tb1_board where bno=21 ;

3. 그러나 BNO = 21 번의 다음글인 4를 조회하면 REPLYCNT의 값이 0이 나옵니다. 

SELECT A.*
    FROM (
        SELECT
            bno,
            LEAD(bno, 1) OVER (ORDER BY bno DESC) AS next_bno,
            LEAD(title, 1,'이전글이 없습니다') OVER (ORDER BY bno DESC) AS next_title,
            LEAD(REPLYCNT) OVER (ORDER BY bno DESC) AS REPLYCNT,
            LEAD(writer, 1) OVER (ORDER BY bno DESC) AS next_writer,
            LEAD(regdate, 1) OVER (ORDER BY bno DESC) AS next_regdate,
            LAG(bno, 1) OVER (ORDER BY bno DESC) AS pre_bno,
            LAG(title, 1,'다음글이 없습니다') OVER (ORDER BY bno DESC) AS pre_title,
            LEAD(REPLYCNT) OVER (ORDER BY REPLYCNT DESC) AS REPLYCNT1,
            LAG(writer, 1) OVER (ORDER BY bno DESC) AS pre_writer,
            LAG(regdate, 1) OVER (ORDER BY bno DESC) AS pre_regdate
        FROM tb1_board
) A where bno=4;

 

결론: 다른 값은 다 나오는데 숫자형인 REPLYCNT 컬럼의 값만 나오질 않습니다.  아무리 애를 써봐도 답을 못찾아서 조언을 구하려 글을 남겨봅니다. 알려주시면 감사하겠습니다.

 

by 마농 [2019.06.19 13:28:45]

글쎄요?
데이터를 볼 수 없으니 정확히 판단하기는 어렵지만. 설명하신 결과는 정상일 것 같습니다.
정렬기준이 서로 다른데? 일치시켜야 할 듯 합니다.

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