블로그 이미지
기대주
초초초초보 개발자.. 프로그래머도 아니고..엔지니어도 아니고.. 은땡때문에살지요^^

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

'서브쿼리'에 해당되는 글 1

  1. 2007.06.27 my sql - case, 서브쿼리
2007. 6. 27. 11:49 A&J프로젝트

와..엄청 헤맷다..

덧글 수가 나오질 않아서..오라클에서는 decode함수와 서브쿼리를 했지만..

mysql에서는 서브쿼리도 어렵고..레프트조인도 어렵고..case문도 어렵고..

어쨋든 쿼리를

<select id="getForumList" parameterClass="forumDto" resultClass="forumDto">
  SELECT    a.forumId
    ,    a.contents
    ,    a.writeDate
    ,    a.subject
    ,    a.fileurl1
    ,    a.fileurl2
    ,    a.fileurl3
    ,    a.memberid
    ,    b.membername
    ,    a.filename1
    ,    a.filename2
    ,    a.filename3
    ,    a.writecase
    ,    c.codename as writecasename
          ,    sum(case a.FORUMID when d.FORUMID then 1 else 0 end) as commentCounts
          ,   a.fileSize1
          ,   a.fileSize2
          ,   a.fileSize3
  FROM      BIZFORUM     a
  LEFT JOIN BIZMEMBER    b
  ON a.memberid = b.memberid
  <isNotNull prepend="AND" property="memberName">
      <![CDATA[ b.membername like '%' || #memberName# || '%' ]]>
     </isNotNull>
  LEFT JOIN BIZCODES     c
  ON a.writecase = c.codevalue
        <isNotNull prepend="AND" property="writeCase">
           a.writecase = #writeCase#
        </isNotNull>
        LEFT JOIN BIZCOMMENT d ON a.forumid = d.forumId
      <isNotNull prepend="AND" property="subject">
        <![CDATA[ a.subject like concat('%',#subject#,'%') ]]>
      </isNotNull>
      <isNotNull prepend="AND" property="contents">
        <![CDATA[ a.contents like concat('%',#contents#,'%') ]]>
      </isNotNull>
     <isNotNull prepend="WHERE" property="forumId">
      a.forumId = #forumId#
     </isNotNull>
  GROUP BY a.FORUMID, a.CONTENTS
        ORDER BY a.forumId DESC
 </select>

나오게 했다..ㅋ
group by 너무 간만에 쓰는거라 아무데나 붙였더니 오류났다..where 다음 order by 절 앞에 붙이도록 하자

posted by 기대주
prev 1 next