sql 조건문 질문 드립니다.

sql 조건문 질문 드립니다.

QA

sql 조건문 질문 드립니다.

답변 2

본문

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


$Where .= " AND name LIKE  '%".$STXT."%' OR content LIKE '%".$STXT."%'
        OR pseq IN (
    SELECT ehseq FROM ex_horn WHERE name LIKE '%".$STXT."%')";
 
        $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";

 

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

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

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

 

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

이 질문에 댓글 쓰기 :

답변 2


$Where .= " AND (name LIKE '%".$STXT."%' OR content LIKE '%".$STXT."%' 
    OR pseq IN (
        SELECT ehseq FROM ex_horn WHERE name LIKE '%".$STXT."%' AND recyn = 'Y')
)";
$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";

$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";
 

 

요걸로 해보세요 ㅇㅅㅇ

큭 실 코드를 볼 수 없으니 ...


$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";

요 코드 써보시겠어요 ?ㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1
© SIRSOFT
현재 페이지 제일 처음으로