sql 분석좀 부탁드려요

sql 분석좀 부탁드려요

QA

sql 분석좀 부탁드려요

답변 3

본문

if ($p_filter) {
    $sql .= " and p_idx in (select idx from ".$g5['price_table']." where p_filter = '".$p_filter."')";
}

 

전체 sql 불러오는 소스중에 궁금한 부분이 있어서 질문 남깁니다

 

price테이블에서 p_filter의 값이 p_filter 인 idx 값을 가져와라 인것 같은데 여기서 in은 왜 들어가고

and는 왜 들어가는건가요? 그리고 다른테이블의 컬럼인 p_idx는 또 왜 들어가는지...

그리고 p_filter의 값에 데이터가 안들어가고 p_filter가 들어가있는데 저건 뭘 의미하는거죠? 

이 질문에 댓글 쓰기 :

답변 3

해당 부분만 보면 알기 어렵습니다
보여지는 소스만 보면

sql의 원래 구조가 있고 p_filter라는 변수가 들어가면 추가로 구문이 들어가는 형태인데

IN안에 들어가있는 SELECT문으로 price_table에서 p_filter컬럼값과 일치하는 idx값을 p_idx값과 비교하여 일치하는 값들만 나오게 되어있습니다.
IN의 경우 결과값(위의 sql문에선 idx값) 여러개이면 해당 여러개의 결과에 일치하는 값을 보여주게 되어있습니다.
WHERE abc = '1' 1인경우만 출력
WHERE abc IN ('1', '2') 1이거나 2인경우 출력

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