테스트 사이트 - 개발 중인 베타 버전입니다

sql 조건문 질문 드립니다. 채택완료

굼떠 1년 전 조회 20,095

오늘은 sql의 늪이네요 ㅠㅠ 반복된 질문 죄송합니다.

</p>

<p>$Where .= " AND name LIKE  '%".$STXT."%' OR content LIKE '%".$STXT."%'</p>

<p>        OR pseq IN (</p>

<p>    SELECT ehseq FROM ex_horn WHERE name LIKE '%".$STXT."%')";</p>

<p> </p>

<p>        $Query = "SELECT bcseq,pseq,name,cmseq,content,Pnum,point,passwd,left(reg_date,10) as reg_date FROM board_comment  ".$Where." ORDER BY rand() LIMIT $start_page,$num_per_page";</p>

<p>

 

ex_horn 테이블에 상품 노출을 결정하는 recyn 이라는 컬럼이 있고 Y, N 으로 설정이 되어있습니다.

$where 부분을 보니 ex_horn 에서 포함된 값과 일치하는 board_comment(상품리뷰) 값을 출력하는거같은데

ex_horn에서 recyn 값이 Y인 부분만 불러오고 싶은데 가능한가요?

 

board_comment 테이블 상에는 recyn 값은 없고 아이템 넘버만 존재합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
1년 전

</p>

<p>$Query = "SELECT bc.bcseq, bc.pseq, bc.name, bc.cmseq, bc.content, bc.Pnum, bc.point, bc.passwd, left(bc.reg_date,10) as reg_date 

    FROM board_comment bc

    LEFT JOIN ex_horn eh ON bc.pseq = eh.ehseq

    WHERE (bc.name LIKE '%".$STXT."%' OR bc.content LIKE '%".$STXT."%' OR (eh.name LIKE '%".$STXT."%' AND eh.recyn = 'Y'))

    ORDER BY rand() 

    LIMIT $start_page, $num_per_page";

 </p>

<p>

 

요걸로 해보세요 ㅇㅅㅇ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

굼떠
1년 전
번거롭게 답변 해주신거 너무 감사드립니다 ㅠㅠ 그런데도 필터링이 안되네여..
미니님a
1년 전
큭 실 코드를 볼 수 없으니 ...


$Query = "SELECT bc.bcseq, bc.pseq, bc.name, bc.cmseq, bc.content, bc.Pnum, bc.point, bc.passwd, left(bc.reg_date,10) as reg_date
FROM board_comment bc
INNER JOIN ex_horn eh ON bc.pseq = eh.ehseq
WHERE (bc.name LIKE '%".$STXT."%' OR bc.content LIKE '%".$STXT."%')
OR (eh.name LIKE '%".$STXT."%' AND eh.recyn = 'Y')
ORDER BY rand()
LIMIT $start_page, $num_per_page";

요 코드 써보시겠어요 ?ㅠ
굼떠
1년 전
어엄 제가 잘못 적용을 하고있는건지 ㅠㅠ 혹시 죄송한데 전체 소스 드리면 봐주실 수 있을까요 ?

댓글을 작성하려면 로그인이 필요합니다.

1년 전

</p>

<p>$Where .= " AND (name LIKE '%".$STXT."%' OR content LIKE '%".$STXT."%' 

    OR pseq IN (

        SELECT ehseq FROM ex_horn WHERE name LIKE '%".$STXT."%' AND recyn = 'Y')

)";</p>

<p>$Query = "SELECT bcseq, pseq, name, cmseq, content, Pnum, point, passwd, left(reg_date,10) as reg_date 

    FROM board_comment  

    ".$Where." 

    ORDER BY rand() 

    LIMIT $start_page, $num_per_page";

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

굼떠
1년 전
말씀해주신대로 적용 했는데 recyn 값으로 필터링이 안되네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인