게시물 조회 쿼리 정리.
parent
61c133a7cc
commit
4db0d9d126
|
|
@ -3,47 +3,53 @@
|
||||||
<mapper namespace="Board">
|
<mapper namespace="Board">
|
||||||
|
|
||||||
<select id="Board.selectBoardList" parameterType="boardSearchVO" resultType="boardVO">
|
<select id="Board.selectBoardList" parameterType="boardSearchVO" resultType="boardVO">
|
||||||
|
select BD_SEQ AS SEQ,
|
||||||
SELECT BD_SEQ AS SEQ, BD_MB_ID AS USERID, BD_GROUP_SEQ AS GROUPSEQ,
|
BD_MB_ID AS USERID,
|
||||||
BD_CATEGORY AS CATEGORY, BD_NAME AS USERNAME, BD_CONTENT AS CONTENT,
|
BD_GROUP_SEQ AS GROUPSEQ,
|
||||||
BD_SUBJECT AS SUBJECT, BD_PARENT_SEQ AS PARENTSEQ, BD_PREV_SEQ AS PREVSEQ,
|
BD_CATEGORY AS CATEGORY,
|
||||||
BD_NEXT_SEQ AS NEXTSEQ, BD_STEP AS STEP, BD_DEPTH AS DEPTH,
|
BD_NAME AS USERNAME,
|
||||||
BD_REGDATE AS REGDATE, BD_HIT AS HIT, BD_RECOMMEND AS RECOMMEND,
|
BD_CONTENT AS CONTENT,
|
||||||
BD_IP AS IP, BD_NOTICE AS NOTICE, BD_HTML AS HTML,
|
BD_SUBJECT AS SUBJECT,
|
||||||
BD_NUM1 AS NUM1, BD_NUM2 AS NUM2, BD_DATA1 AS DATA1, BD_DATA2 AS DATA2,
|
BD_PARENT_SEQ AS PARENTSEQ,
|
||||||
FILECNT
|
BD_PREV_SEQ AS PREVSEQ,
|
||||||
FROM (
|
BD_NEXT_SEQ AS NEXTSEQ,
|
||||||
SELECT (ROW_NUMBER() OVER()) RNUM, ALL_LIST.*, #{id} ID,
|
BD_STEP AS STEP,
|
||||||
(SELECT COUNT(*) FROM H3_BD_${id}_FILE WHERE BF_BD_SEQ = ALL_LIST.BD_SEQ) AS FILECNT
|
BD_DEPTH AS DEPTH,
|
||||||
FROM (
|
BD_REGDATE AS REGDATE,
|
||||||
SELECT
|
BD_HIT AS HIT,
|
||||||
*
|
BD_RECOMMEND AS RECOMMEND,
|
||||||
FROM H3_BD_${id}_LIST BBS
|
BD_IP AS IP,
|
||||||
<where>
|
BD_NOTICE AS NOTICE,
|
||||||
<if test='category != " " or id == "stat_bbs"'>
|
BD_HTML AS HTML,
|
||||||
AND BD_CATEGORY = #{category}
|
BD_NUM1 AS NUM1,
|
||||||
</if>
|
BD_NUM2 AS NUM2,
|
||||||
<if test="searchKeyword != null and searchKeyword != ''">
|
BD_DATA1 AS DATA1,
|
||||||
<choose>
|
BD_DATA2 AS DATA2,
|
||||||
<when test="searchCondition == 0">
|
FILECNT
|
||||||
AND BD_DATA1 LIKE '%' || #{searchKeyword} || '%'
|
from H3_BD_${id}_LIST list
|
||||||
</when>
|
left outer join (select BF_BD_SEQ, count(*) as filecnt
|
||||||
<when test="searchCondition == 1">
|
from H3_BD_notice_FILE
|
||||||
AND BD_NAME LIKE '%' || #{searchKeyword} || '%'
|
group by BF_BD_SEQ) file
|
||||||
</when>
|
on list.bd_seq = file.bf_bd_seq
|
||||||
<when test="searchCondition == 2">
|
<where>
|
||||||
AND BD_SUBJECT LIKE '%' || #{searchKeyword} || '%'
|
<if test='category != " " or id == "stat_bbs"'>
|
||||||
</when>
|
AND BD_CATEGORY = #{category}
|
||||||
</choose>
|
</if>
|
||||||
</if>
|
<if test="searchKeyword != null and searchKeyword != ''">
|
||||||
</where>
|
<choose>
|
||||||
ORDER BY
|
<when test="searchCondition == 0">
|
||||||
BBS.BD_NOTICE DESC,
|
AND BD_DATA1 LIKE '%' || #{searchKeyword} || '%'
|
||||||
BBS.BD_GROUP_SEQ DESC,
|
</when>
|
||||||
BBS.BD_STEP ASC
|
<when test="searchCondition == 1">
|
||||||
|
AND BD_NAME LIKE '%' || #{searchKeyword} || '%'
|
||||||
) ALL_LIST
|
</when>
|
||||||
) a
|
<when test="searchCondition == 2">
|
||||||
|
AND BD_SUBJECT LIKE '%' || #{searchKeyword} || '%'
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY BD_NOTICE DESC, BD_GROUP_SEQ DESC, BD_STEP asc
|
||||||
limit #{recordCountPerPage} offset #{firstIndex}
|
limit #{recordCountPerPage} offset #{firstIndex}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue