2012-05-04 4 views
1

error_code 및 error_type이 저장된 mysql 데이터베이스가 있습니다.쉼표로 구분 된 고유 데이터 비교 및 ​​가져 오기

각 Error_type은 여러 개의 error_code를 쉼표로 구분하여 저장할 수 있습니다. 여기

테이블이다

아이디 대한 에러 ERROR_TYPE

1 300,200,444 철자

2 문법 333,310

바와 같이

; 맞춤법이 3 ERROR_CODE

질문 : ERROR_CODE가 (만 1 오류 코드는 텍스트 상자에 입력됩니다)

어떤 정보가 필요한 경우 알려 주시기 경우 또는 300 또는 200 또는 444 인 경우 ERROR_TYPE를 얻기 위해 쿼리하는 방법 명확하지 않다 .... TNX

편집 :

나는 당신이 사용할 수있는 고유 한 ERROR_TYPE

답변

2

당신은 정규 표현식을 사용할 수 있습니다

select * from test 
where error_code REGEXP '(^444,|,444$|,444,|^444$)' 

444는 말에, 또는 두 개의 쉼표의 사이에, 현재 중 시작 부분에 있는지 확인합니다; 이 아닌444이 다른 숫자 안에 들어있는 문자열과 일치합니다. 예를 들어, 1,2,34445,6은 일치하지 않습니다.

+1

여기에 [데모에 sqlfiddle] (http://sqlfiddle.com/#!2/745dc/)입니다 3) – dasblinkenlight

+0

당신의 코드는 error_type을 가져 오지 않을 것입니다. 3을 입력하면 다른 카테고리 whos 코드는 3입니다. : ( – sree

+0

) 내 질문을 편집했습니다 .. – sree

0

필요 like

또는

select error_type from table where error_code like '%444%' 
+1

'error_code'가 '123444'인 경우에도 일치합니다. 이는 아마도 OP가 원했던 것이 아닙니다. – dasblinkenlight

+0

분명히 그게 쉬운 .... :) 또한 그 "error_code 같은"... ur 대답을 수정 오전 – sree

관련 문제