mysql 에서 LIKE 관련 질문입니다.(게시판 )

mysql 에서 LIKE 관련 질문입니다.(게시판 )

QA

mysql 에서 LIKE 관련 질문입니다.(게시판 )

본문

안녕하세요

 

게시판에서 공지 여부 관련 쿼리인되요

 

---------------쿼리
SELECT 
*,( SELECT  count(bo_notice) AS cnt
    FROM g5_board
    WHERE bo_notice like '%g5_write_moro.wr_id%'

) AS noti_chk 
FROM g5_write_moro

 

---------------결과

noti_chk 필드 : 0 

 

 

: 질문드립니다.

  정답은 1일 나와야 되는데 쿼리에 문제가 있을까요? 

  조언 구합니다.

 

ps. 게시물 아이디 값을 넣으면 값이 존재 합니다.

SELECT bo_notice  FROM  g5_board  WHERE bo_notice like '%270%'

---- 쿼리결과

bo_notice : 270

 

이 질문에 댓글 쓰기 :

답변 4

view에서 필요하신 것인지

list에서 필요하신 것인지 잘 모르겠군요.

bbs/list.php에서 

    $arr_notice = explode(',', trim($board['bo_notice']));
이렇게 한 다음

if( in_array( $wr_id, $arr_notice)) {

   echo '공지 글';

} else {

}

이런 식으로 처리해 보세요.

한컬럼내의 콤마 구분자를 구분지어 검색하고 싶다면 find_in_set 을 활용하세요


select *, 
       (select find_in_set(g5_write_moro.wr_id, bo_notice) from g5_board where bo_table = 'moro') AS noti_chk 
  from g5_write_moro

SELECT *,( SELECT count(bo_notice) AS cnt FROM g5_board WHERE bo_notice like concat('%',g5_write_moro.wr_id,'%')) AS noti_chk 
FROM g5_write_moro

이기는 한데 추천하지는 않습니다. 해당 글이 공지 설정된 글인지 체크하려고 하시는거같은데, wr_id가 1일경우 10도, 111도 검색이 되어버리니 다른 방법을 찾으시는걸 권해드립니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT