그누보드 리스트 검색 쿼리문? 관련질문입니다..

그누보드 리스트 검색 쿼리문? 관련질문입니다..

QA

그누보드 리스트 검색 쿼리문? 관련질문입니다..

답변 4

본문


 
            $sql='select * from 102 order by wr_id desc limit 0, 10 ';
                    $res=sql_query($sql);
                    for ($i=0; $row=sql_fetch_array($res); $i++){
                        $sql2="select * from 101 where wr_2='{$row[wr_2]}'";
                        $row2=sql_fetch($sql2);
                        //row2[wr_14] = 홍보구분

                        echo $row[wr_2]."<br>";
                    }
                ?>
 
102의 데이터를 뿌려주고있는데
101의 wr_14 에 예를들어 a,b,c 라는 값이있을때
b에만 해당하는 102의 데이터를 뽑으려면 쿼리문을 어떻게 작성해줘야할까요..?
 
 
 
 
 
 
 
 
 
 
 

이 질문에 댓글 쓰기 :

답변 4

$sql='select * from 102 order by wr_id desc limit 0, 10 ';
                    $res=sql_query($sql);
                    for ($i=0; $row=sql_fetch_array($res); $i++){
                        $sql2="select * from 101 where wr_2='{$row[wr_2]}'";
                        $row2=sql_fetch($sql2);
                        //row2[wr_14] = 홍보구분
                        if(strpos($row2[wr_14], 'b') !== false){
                            echo $row[wr_2]."<br>";
                        }
                    }
                ?>
$sql='select * from 102 as 102 left join 101 as 101 on 102.wr_14 = 101.wr_2 order by wr_id desc limit 0, 10 ';

 

이런식으로 left join 알아보셔영
위에꺼는 실행안해봐서 ㅎㅎ; sql문 틀리수있어요~

$sql = "SELECT A.* FROM 102 AS A LEFT JOIN 101 AS B ON A.wr_2 = B.wr_2 WHERE (1) AND B.wr_14 LIKE '%b%' ORDER BY wr_id DESC LIMIT 0, 10 ";
$res=sql_query($sql);
for ($i=0; $row=sql_fetch_array($res); $i++){
    echo $row[wr_2]."<br>";
}

 

대략 이런식으로?

다음과 같은 방법도 있으니 참고해 보세요


$sql = "SELECT * FROM 102 WHERE wr_2 IN (SELECT wr_2 FROM 101 WHERE wr_14 = '{$row2['wr_14']}') ORDER BY wr_id DESC LIMIT 0, 10";
$res = sql_query($sql);
for ($i = 0; $row = sql_fetch_array($res); $i++) {
    echo $row['wr_2'] . "<br>";
}

 

$row2['wr_14'] 값에 해당하는 102 테이블의 데이터를 선택하게 되며

101 테이블의 서브쿼리에서 wr_14 값을 동적으로 사용하기 위해 작은따옴표(')로 감싸주었고, 

$row2['wr_14'] 변수에 원하는 값을 할당하면 해당 값에 맞는 102 테이블의 데이터를 검색할 수 있지 않을까 합니다.

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