데이터베이스 필드에 쉼표로 구분 된 데이터가 저장되어 있습니다. 같은 필드에 colors
처럼 다음과 같은 행이 있습니다.쉼표로 구분 된 데이터베이스 필드를 쉼표로 구분 된 사용자 입력으로 검색 중
red,blue, green
blue, white, purple, pink
yellow, khaki, maroon, orange
gray, lemon, black, brown
다음 사용자는 HTML 양식의 텍스트 상자를 사용하여 쉼표로 구분 된 양식으로 색상을 입력합니다. 나는 그의 입력과 일치하는 레코드를 반환하도록 데이터베이스를 검색하려고한다. 예를 들어.
red, purple, orange
을 입력하면 첫 번째 행이 빨간색이고 두 번째 행이 보라색이고 세 번째 행이 오렌지이므로 쿼리는 세 행을 반환해야합니다.
사용자 입력을 배열로 분해하고 각 색상을 반복하고 결과를 얻기 위해 데이터베이스를 검색하는 것보다 쉬운 방법이 아닙니다. 이 작업을 수행하는 더 쉬운 방법이 있습니까?
편집
나는 쉼표로 분리 된 형태로 데이터를 저장하는 것은 좋은 방법이 아닙니다하지만 난 다른 프로그래머에 의해 만들어진 응용 프로그램에 대한 업데이트 작업을 해요 알고있다. 그리고이 단계에서 저는 테이블 구조를 변경할 여력이 없습니다.
감사합니다.
데이터 구조를 표준화하지 않았기 때문에 쉽게 찾을 수없는 이유입니다. 네가 가진다면 지금 당장 데이지를 뛰어 넘을거야. – podiluska
http://stackoverflow.com/questions/3653462/is-storing-a-comma-separated-list-in-a-database-column-really-that-bad –
@podiluska 제발 내 편집을 참조하십시오. – WatsMyName