table a , table b
a.forum_id -> 공지사항,FAQ,Q&A,자료실 이 네가지만 데이터가 들어갑니다.
a.gubun 은 공지사항일땐 데이터가 안들어가고 공지사항을 제외한 데이터가 들어갈 때 1,2,3,4 ... 이런식으로 숫자 하나가
들어갑니다.
b.name 을 가져와야 하는데
b.boardseq = 2 는 a.forum_id 의 FAQ 이고
b.boardseq = 3 는 a.forum_id 의 Q&A이고
b.boardseq = 4 는 a.forum_id 의 자료실 입니다.
a.gubun = b.categoryseq 는 같은 값입니다.
아래는 a table 데이터입니다.
forum_id, gubun, action, title -------->컬럼
공지사항 INSERT 공지사항...
공지사항 UPDATE 공지사항... 수정
FAQ 4 UPDATE ㅇㅇㅇㅇㅇㅇㅇㅇ
FAQ DELETE ㅇㅇㅇㅇㅇㅇㅇㅇ
공지사항 INSERT 7/6 공지
FAQ 6 INSERT 험피
공지사항 데이터는 gubun 이 null 입니다.
아래는 b table 데이터 입니다.
boardseq, categoryseq, name -------->컬럼
2 0 질문구분
2 1 조사지침
2 2 프로그램(공통)
2 3 프로그램(학과)
2 4 프로그램(전산)
2 5 프로그램(취업)
2 6 홈페이지
2 7 기타
3 0 질문구분
3 1 조사지침
3 2 프로그램(공통)
3 3 학과담당자용
3 4 전산담당자용
3 5 취업담당자용
3 6 웹사용자용
3 7 기타
4 0 자료구분
4 1 조사지침
4 2 프로그램(공통)
4 3 학과담당자용
4 4 전산담당자용
4 5 취업담당자용
4 6 홈페이지
4 7 기타
가져와야 할 값은 b.name 을 가져와야 합니다.
where 절에 forum_id 값도 파라메터로 받습니다. (한글로)
SELECT a.LOGSEQ , a.FORUM_ID /* , case when 공지사항 = '공지사항' then '' when 공지사항 = 'FAQ' then '2' when 공지사항 = 'Q&A' then '3' when 공지사항 = '자료실' then '4' else '' end */ -- , b.NAME as GUBUN , a.ACTION , a.TITLE FROM TBPOSTLOG a left outer join TBBOARDCATEGORY b on a.GUBUN = b.CATEGORYSEQ WHERE 1 = 1 -- AND b.BOARDSEQ = DECODE(a.FORUM_ID,'공지사항','1', 'FAQ', '2', 'Q&A', '3', '자료실', '4') AND a.FORUM_ID = '공지사항' AND TO_CHAR(a.REG_DATE, 'yyyymmdd') >= '20160630' AND TO_CHAR(a.REG_DATE, 'yyyymmdd') <= '20160707' ORDER BY a.LOGSEQ DESC
ON 절에 있어야 할 조인 조건이 Where 절에 있네요.
주석처리된 조건을 On 절로 올리세요.
검색조건은 WHERE 절에...
조인조건은 ON 절에...
감사합니다!! 쉽게 해결되었네요~