2012-01-08 3 views
0

주소 문자열에 대한 단일 사용자 입력 텍스트 상자가 있습니다. 즉, 블록 번호, 주소, 도시, 주 및 우편 번호로 나뉘어져 있지 않습니다. 그러나 내 MySql 테이블에는 각 주소 구성 요소에 대한 개별 열이 있습니다. 내 임무는 사용자의 주소 문자열을 가져 와서 주소 테이블에 대해 조회하고 일치하는 행의 ID를 반환하는 것입니다.MySQL에서 테이블의 여러 열에서 concatanated 문자열을 검색

어떻게 주소 테이블의 개별 열에 대해 전체 문자열을 역방향 조회합니까? 또한 사용자가 여러 공백을 입력 할 수 있기 때문에 문자열을 파싱하는 것은 쉽지 않습니다. & 거리 이름은 까다로울 수 있으며 여러 단어를 포함 할 수 있습니다.

그래서 사용자가 123 South Main St Los Angeles CA 92032를 입력하면 합계를 계산할 수 있습니다. 그런 다음 열 (주소 ID, 블록 번호, 거리, 도시, 주, 우편 번호)이 포함 된 주소 표를 검색하고 주소 ID를 반환해야합니다. .

감사합니다, 샤키라

답변

1
select * 
from Address 
where concat(street, city) like '%input%'; 

당신은, 전체 텍스트 검색 설정이 필요 볼 것이다 http://devzone.zend.com/26/using-mysql-full-text-searching/http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

내가 연결에 대 한 빈 공간을 추가하면 많은 도움이
+0

감사합니다 Sachin은, 그러나 그것은 잘 작동 예 어디 concat (blockno, '', streetname, ''). 그러나 내가 찾고있는 것은 사용자가 도시 나 주에 들어가는 것을 놓친다면 너무 많은 텍스트 검색 기능입니다. 사용자가 권장하는 쿼리에서 사용자는 올바른 순서로 주소를 입력해야합니다. –

+1

오케이. 오른쪽에 전체 텍스트 검색과 관련된 많은 질문이 있습니다. 확인해 보셨습니까? 도 도움이되는 경우 http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html을 참조하십시오. –

관련 문제