생초보 고수님의 답변 기다립니다..도와주세요~
사용후기나 글을 쓰는데요..
내용을 CLOB로 했는데 CLOB를 사용하면 안된다고 해서..(진작
말하지..)
내용을 전부 VARCHAR2(4000)으로 바꿨습니다..
일단 지금 상태는
freeboard란테이블에는 글쓴이,제목...내용빼고 다 들어값니다.
그리고 freeboard_contents에는 freeboard의 내용이
들어값니다..
freeboard의 시퀀스가 f_seq이구요 freeboard_contents의 시퀀스가
c_seq입니다
freeboard_contents에 내용을 넣을때 freeboard의 시퀀스 값을
넣었습니다..
c_seq,f_seq,c_contents 이렇게 있는거죠..
문제는 4000이상의 글이 들어왔을경우인데요..
내용을 넣고 보는데는 상관없는데요..
리스트에서 내용검색이 있습니다..
그래서 제 나름대로 쿼리를 짰는데요..
리스트에 같은 내용이 2개씩 나오더군요...
4000이상의 글이 들어오면..
freeboard는 하나지만..
freeboard_contents는 2개가 되거든요.. 4000씩 잘라서 루프돌면서
인서트해서요..
select * from (select rownum as rnum,
a.f_subject,a.f_name,a.f_seq,b.c_contents from freeboard
a,freeboard_contents b where a.f_seq=b.c_seq order by f_seq DESC )
WHERE rnum >=1 AND rnum < 11 order by f_seq DESC
이렇게 했더니 4000넘는 글들은 전부 2개씩 나오는데요..
1개씩 나오게 할 수 없나요??
질문을 이해 하셨을라나..-_-; 어렵게 쓴듯하네요..
oracle9i + asp 입니다..
혹 이해가 안가셨을가봐 -_-;
예제입니다..
freeboard
f_seq |
subject |
name |
1 |
111111 |
xxxx |
2 |
222222 |
zzzzz |
freeboard_contents
c_seq |
f_seq |
c_contents |
1 |
1 |
aaaaaaaaaaaaaaaaaaaaaaaa |
2 |
1 |
bbbbbbbbbbbbbbbbbbbbbbbb |
3 |
2 |
ccccccccccccccccccccccccc |
위의 쿼리로 했을때의 리스트 페이지 입니다..
freeboard_list.asp
no |
제목 |
글쓴이 |
3 |
111111 |
xxxx |
2 |
111111 |
xxxx |
1 |
222222 |
zzzzzz |
리스트를 보시면 알겠지만..xxxx란 사람이 쓴 글은 1개인데
리스트에서는 같은게 2개가 나옵니다.
즉 내용(freeboard_content 테이블)이 길어서 2개의 데이터를 가지고
있습니다..
찾아봤지만 도저희 모르겠네요..답변 부탁드려요~~~
|