이 sql 구문이 올바른 표현인가요?
본문
$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 |
+------+------+-----------
-----
답변을 작성하시기 전에 로그인 해주세요.