태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

질문


파일 SEQ 게시물 SEQ  파일 경로  파일 이름 
 1  11  파일경로1  파일 이름1 
 2  12  파일경로1  파일 이름 2
 3  13  파일경로1  파일 이름 3
 4  14  파일경로2  파일 이름 4
 5  15  파일경로2  파일 이름 5
 6  16  파일경로2  파일 이름 6
 7  17  파일경로2  파일 이름 7
 8  18  파일경로1  파일 이름 8
 9  19  파일경로1  파일 이름 9

 

 게시물 SEQ  게시판 SEQ  글제목  내용
 11  3  글제목   내용
 12  3 글제목   내용
 13  4  글제목   내용
 14 5  글제목   내용
 15  4  글제목   내용
16 5  글제목   내용
 17  6  글제목   내용
 18  7  글제목   내용
 19 6  글제목   내용

두개의 테이블이 있습니다.

조인해서 파일 경로와 파일 네임, 글제목, 내용을 추출하는것입니다.

조건은 게시판 SEQ를 하나씩만 추출해야 합니다. 3,4,5,6,7,8 이렇게요

즉, 각 게시판에서 최근자료 하나씩만 추출하는것입니다. 정렬은 날짜 desc로 해주세요.

각테이블 마지막에 날짜 컬럼이 있습니다.


답변


첫번째 테이블 을 TABLE_A 두번째 테이블을 TABLE_B라고 하면

제가 생각하기에 게시물SEQ가 IDENTITY 값이라면 그냥 이렇게 하셔도 정렬은 될듯 하구요.

SELECT A.파일경로, A.파일이름, B.글제목, B.내용

FROM TABLE_A A

INNER JOIN TABLE_B B

ON A.게시물SEQ = B.게시물SEQ AND B.게시물SEQ IN (SELECT MAX(게시물SEQ) FROM TABLE_B GROUP BY 게시판SEQ
ORDER BY B.SEQ DESC



만약 IDENTITY  값이 아니라면 뒤에 조인문 조건을 이렇게
ON A.게시물SEQ = B.게시물SEQ AND B.날짜컬럼 IN (SELECT MAX(날짜컬럼) FROM TABLE_B GROUP BY 게시판SEQ)

이렇게 바꾸시면 될겁니다.
그리고 ORDER BY  A.날짜 컬럼 DESC

머 날짜가 똑같은 경우는 거의 불가능 하기 때문에 문제가 없다고 보셔도 될듯합니다.

이게 정확히 돌아 갈지는 모르지만. 원리는 이겁니다.
두번째 테이블에서 게시판SEQ를 그룹을 지워서 그 기준으로 가장 큰값의 게시물시퀀스 값이나 혹은 가장 큰 날짜를 찾아내면 됩니다. 그러면


11, 15, 16, 18, 19 값이 나오져 그걸 조인하면 되는겁니다.
행운을 빌어요 ^^



Posted by 사용자 인터돌

댓글을 달아 주세요