Oracle Previous(이전글), next(다음글)

2010.09.16 11:29DataBase/oracle


이전글과 다음글 구하기, Query 

1. 이전글
1-1. 첫번째 방법, 답글이 없는경우

SELECT * FROM CMTB_COMMON_BBS
    WHERE SEQ IN(
        SELECT MAX(SEQ)
        FROM CMTB_COMMON_BBS
        WHERE SEQ <8
        )

 
1-2. 두번째 방법, 답글 이 있는경우

SELECT rownum, subject, seq
FROM CMTB_COMMON_BBS
WHERE
    rownum = 1
    and bbsid = 'TEST'
    AND ref = 10-1
ORDER BY ref DESC, step

답글이 없는경우야 1-1 번 방법처럼 써도 상관 없겠지만, 답글이 있는경우 1-1번 방법을 쓰게되면 엉뚱 한 답글이 이전글이 되어 버린다.
즉 답글이 있는경우는 부모의 글이 생성된 순서를 desc(역순),  답글이 생성된 순서에 대해 Order By를 주면 간단히 해결됨.

참고로 1-2에서  ref ? -1

?  => 현재 클릭된 게시 내용의 순번 ex)10
-1 => 이전글을 찾기위해 -1

-- 생각해보니 1-1번에도 Order by 만 붙여주면 될것 같은데 ㅡ_ㅡ^ 

2. 다음글은, 다음에......?
   위에거 반대로 하면 다음글 나오지 안을까? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅎ



결국엔 잊어버려서 여기다 적는구나,ㅋ

rost Memory zzzzzzzzzzzzzzzzzzzzzzzzzzzz.

  • 프로필사진
    유지호2010.09.16 12:49

    배치화일을 만들어서 시작프로그램에 넣어서 사용중인데요

    배치화일을 수동으로 실행해서 실행하고 싶을때만 실행하게 할수 있을까요?

    현재 배치화일에 약 30개정도가 정의되어 있음

    배치화일을 수동으로 클릭하면 전체가 실행되게 하려면 어떻게 해야하는지 도움바랍니다



    (현재는 만들어진 배치화일을 클릭하면 첫번째 줄만 무한반복합니다-시작프로그램에

    넣으면 정상작동하구요) 아시는 내용이시면 답변좀 부탁드립니다.

    죄송합니다~