이 sql 구문이 올바른 표현인가요?

이 sql 구문이 올바른 표현인가요?

QA

이 sql 구문이 올바른 표현인가요?

답변 2

본문


$sql_common = " from {$g5['g5_shop_category_table']} where ca_id like '%{$ca[ca_id]}%' and length(ca_id) = '4' IN (SELECT ca_3 FROM {$g5['g5_shop_category_table']} where ca_id like '%{$ca[ca_id]}%' and length(ca_id) = '6' and ca_3 like '%$value%') "; 

 

ca_id like '%{$ca[ca_id]}%' and length(ca_id) = '6' (즉 2차분류)

에 ca_3 like '%$value%'​ 값을 가지고 있는

ca_id like '%{$ca[ca_id]}%' and length(ca_id) = '4'​ (1차분류)

를 출력하라 하는 표현이 올바르게 되어 있나요?

 

자료가 나와야 되는데 .. 나오질 않네요..

어디가 잘못된건지..

이 질문에 댓글 쓰기 :

답변 2

카테고리에서 like를 사용할때 %는 뒷부분에만 붙입니다

 

예>

%10%  

값은 1010, 1020, 2010

이런식으로 10만 들어가면 해당되기 때문이지요

보통 카테고리는 앞부분은 나두고 뒷부분을 추가 하는 방식이라 like사용시  "10%" 이러한 형태로 사용하는게 맞을 듯합니다 

위의 불량학생님 답변에 이어 저는 쿼리문 자체만 답변을 드리자면

조건문이 틀렸습니다.

IN 조건은 조건문 WHERE 에 AND 나 OR 인 상태에서 해당 필드문의 IN 조건으로 태워야 합니다.

 

 

-----

 

mysql> SELECT * FROM employee_tbl WHERE daily_typing_pages IN ( 250, 220, 170 );


+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
|    1 | John | 2007-01-24 |                250 |
|    2 | Ram  | 2007-05-27 |                220 |
|    3 | Jack | 2007-05-06 |                170 |
|    4 | Jill | 2007-04-06 |                220 | 

+------+------+----------- 

 

-----

 

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